打字稿 - 未捕获的ReferenceError:出口没有定义
进出口收到此错误消息(未捕获的ReferenceError:出口没有定义)时,试图导入主app.ts其他TS文件打字稿 - 未捕获的ReferenceError:出口没有定义
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文件
注意:我没有使用像角度,只是简单的打字稿框架。 注意2:CommonJS安装在项目中(Typescript ReferenceError: exports is not defined)
您的示例repo似乎编译,所以我猜这是vscode的配置问题。我建议如下:
- add settings.json添加到您的.vscode文件夹。
-
文件内容应该是这样的,(如果你有的话,只是添加配置):
{ “typescript.tsdk”: “./node_modules/typescript/lib” }
添加的package.json以打字稿的devDependencies
当您使用export
在你的代码,而在你的tsconfig.json
你有"module": "commonjs"
结果代码假设commonjs
月淡淡的风格。
例如:
export class Foo{}
会的结果是:
.
.
.
exports.Foo = Foo;
所以,当您尝试运行结果js
代码,如果环境不支持commonjs
你会得到这个错误。
例如,浏览器不支持commonjs
,但nodejs
。 您可以通过使用webpack添加commonjs
支持的浏览器或只加browserify
用npm全局安装browserify,但我仍然得到错误! –
你是什么意思“全球安装”?你还必须在你的html中包含脚本... – gilamran
我的意思是,安装browserify,试图做一个bundle.js,包括它在脚本标记的HTML,但没有。 –
那么你可以说你正在使用的打字稿版本? 'tsc -v' – qballer
typescript 2.4.2 npm 3.10.10 –
似乎对我有用。你能分享更多信息吗? – qballer