我正在学习TypeScript。我从output
导入了console.ts
函数:
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
答案 0 :(得分:2)
我遇到了完全相同的问题。告诉webpack停止遵循符号链接,这是vue.config.js
chainWebpack: config => {
config.resolve.symlinks(false);
},
答案 1 :(得分:0)
我在Vue.js / TypeScript项目中遇到了类似的问题。 Vue.js项目在后台使用了Webpack,我在外部模块开发过程中运行过npm link
。
最终,我发现此问题是由Webpack试图遵循符号链接到我用npm link
命令链接的依赖项引起的。
解决方案是指示Webpack停止跟踪符号链接。
有关Webpack文档的部分:resolve.symlinks。
有关Vue.js的故障排除部分:Vue.js and npm link。