我在尝试导入主app.ts中的其他ts文件时收到此错误消息(Uncaught ReferenceError:exports未定义)
app.ts
import { LanguagesConfigs } from './LanguagesConfigs';
let languagesConfigs = new LanguagesConfigs();
LanguagesConfigs.ts
export class LanguagesConfigs {
code
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true
}
}
我在visual studio代码中编译它 . 它生成.js和.js.map文件
注意:我没有使用像angular这样的帧,只是普通的打字稿 . 注2:CommonJS安装在项目中(Typescript ReferenceError: exports is not defined)
2 回答
当您在
tsconfig.json
中的代码中使用export
时,"module": "commonjs"
结果代码假定为commonjs
模块样式 .例如:
结果是:
因此,当您尝试运行结果
js
代码时,如果环境不支持commonjs
,您将收到此错误 .例如,浏览器不支持
commonjs
但nodejs
支持 . 您可以使用webpack向浏览器添加commonjs
支持,或者只需添加browserify您的示例repo似乎编译,所以我猜这是vscode的配置问题 . 我建议如下:
将settings.json添加到.vscode文件夹 .
文件内容应为此,(如果你有,只需添加该配置):
{“typescript.tsdk”:“ . / node_modules /typescript / lib”}