这个问题已经在这里有一个答案:
- RequireJS模块的打字稿编译生成线Object.defineProperty(出口“__esModule”,{值:真}); 如何摆脱它? 1个回答
我在我的项目tsconfig指定“AMD”的模块目标,但是当我的文件编译我得到的输出看起来更像CommonJS的。 例:
tsconfig:
{
"compilerOptions": {
"module": "amd",
"target": "es5",
"moduleResolution": "node",
"sourceMap": false,
"newLine": "LF",
"baseUrl": ".",
"lib": ["es5", "es2015.promise", "dom"]
}
}
打字稿文件:
export function test() {
console.log('Starting Up', '<--------------');
}
编译后的文件:
define(["require", "exports"], function (require, exports) {
Object.defineProperty(exports, "__esModule", { value: true });
function test() {
console.log('Starting Up', '<--------------');
}
exports.test = test;
});
预计编译的文件:
define([], function () {
function test() {
console.log('Starting Up', '<--------------');
}
return { test: test };
});
这是一个的扔我离开了“出口”的对象。 这不应该对AMD的模块,只有一个返回语句是必要的。 是否有办法来纠正呢?