我想使用import语法使用typescript从节点中的node_modules导入外部模块。我已经将类型定义添加到了我的项目中,因此我可以调用install()
而不会输入错误的文字(我知道我可以执行any
强制转换,但我显然希望尽可能保留所有类型)。
/// <reference path="typings/source-map-support/source-map-support.d.ts" />
import * as sourceMapSupport from 'source-map-support';
sourceMapSupport.install();
但是当输出我的代码时,它会返回以下内容:
/// <reference path="../typings/source-map-support/source-map-support.d.ts" />
//# sourceMappingURL=server.js.map
有人可以向我解释为什么它不会在生成的js文件中输出require吗?我也在编译ES6,因为我需要访问async&amp; amp;等待关键字 - 我的tsconfig.json如下。
{
"compilerOptions": {
"target": "es6",
"sourceMap": true,
"outFile": "build/server.js"
},
"exclude": [
"node_modules",
"typings"
]
}
答案 0 :(得分:2)
有人可以向我解释为什么它不会在生成的js文件中输出要求
因为您在tsconfig outFile
中使用"outFile": "build/server.js"
。如果您使用的是模块格式,请不要使用outFile
。这是捆绑商的工作,例如的WebPack。
{
"compilerOptions": {
"target": "es6",
"sourceMap": true,
"module": "commonjs"
},
"exclude": [
"node_modules",
"typings"
]
}
注意:此处有边缘情况,例如systemjs / amd支持outFile。但这不太可能与此无关。