我正在学习 TypeScript。我从 console.ts
导入了 output
函数:
export function output(value: any): void {
console.log(value);
}
编译成console.js
:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var console_1 = require("./console");
console_1.output('Hello');
//# sourceMappingURL=functional.js.map
在目标文件中导入和使用:
import {output} from "./console";
output('Hello');
tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
},
"exclude": [
"node_modules"
]
}
我没有编译错误,但不明白为什么我在浏览器中出现以下错误:
Uncaught ReferenceError: exports is not defined at functional.js:2
最佳答案
我在 Vue.js/TypeScript 项目中遇到了类似的问题。 Vue.js 项目在后台使用 Webpack,我在外部模块开发期间运行了 npm link
。
最终,我发现这个问题是由于 Webpack 试图跟踪符号链接(symbolic link)到我用 npm link
命令链接的依赖项引起的。
解决方案是指示 Webpack 停止跟踪符号链接(symbolic link)。
相关 Webpack 文档部分:resolve.symlinks .
相关的 Vue.js 故障排除部分:Vue.js and npm link .
关于javascript - Uncaught ReferenceError : exports is not defined when importing function - TypeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51539715/