ts编译器在每个文件中发出此行:
Object.defineProperty(exports, "__esModule", { value: true });
但是我的代码在Nodejs上运行,我不是在写一个libaray,所以我认为这条线对我来说是不必要的。我该如何禁用它? 我的编译器选项是:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"allowJs": true,
"sourceMap": true,
"outDir": "build",
"moduleResolution": "Node",
"lib": ["es6"]
}
}
例如,编译这个ts文件:
function add(a: number, b: number): number {
return a + b
}
export { add }
我得到了:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function add(a, b) {
return a + b;
}
exports.add = add;
//# sourceMappingURL=App.js.map
如何删除第二行?
答案 0 :(得分:-4)
但是我的代码在Nodejs上运行,我不是在写一个libaray,所以我认为这条线对我来说是不必要的。我该如何禁用它
工作正常。所以不要删除它。把它想象成"use strict"
。它不是 neccessary 但它的好处。
存在允许交织器之间的互操作(打字稿/ babel /其他未来的)。