打字稿 - 未捕获的ReferenceError:未定义导出

时间:2017-08-14 06:57:40

标签: typescript

我在尝试导入主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文件

注意:我没有使用像angular这样的帧,只是普通的打字稿。 注2:CommonJS安装在项目中(Typescript ReferenceError: exports is not defined

1 个答案:

答案 0 :(得分:7)

当您在export tsconfig.json中使用"module": "commonjs" commonjs时,结果代码会假定为export class Foo{} 模块样式。

例如:

.
.
.
exports.Foo = Foo;

结果是:

js

因此,当您尝试运行结果commonjs代码时,如果环境不支持commonjs,您将收到此错误。

例如,浏览器不支持nodejs,但commonjs支持<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <div class="container" id="coverpage"> <div class="row"> <div class="col-md-6 col-sm-12"> <table id="tableblock" class="table"> <caption>Latest Blocks</caption> <tr><td>cell</td></tr> </table> </div> <div class="col-md-6 col-sm-12"> <table id="tabletxs" class="table"> <caption>Latest Transactions</caption> <tr><td>cell</td></tr> </table> </div> </div> </div>。 您可以使用webpack向浏览器添加{{1}}支持,或者只需添加browserify