作者:手机用户2502856895 | 来源:互联网 | 2023-01-08 19:17
如何解决《RequireJS模块的TypeScript编译生成行Object.defineProperty(exports,“__esModule”,{value:true});如何摆脱它?》经验,谁能帮忙解答一下?
这是我的tsconfig.json文件的外观:
{
"compileOnSave": true,
"compilerOptions": {
"module": "amd",
"noImplicitAny": false,
"removeComments": false,
"preserveConstEnums": true,
"strictNullChecks": true,
"sourceMap": false
}
}
我有一个名为a.ts的打字稿文件,它是一个AMD模块(我正在使用requirejs),如下所示:
export function a() {
var a = {
b: 5
};
return a;
}
编译后的Javascript文件如下所示:
define(["require", "exports"], function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
function a() {
var a = {
b: 5
};
return a;
}
exports.a = a;
});
我需要生成的Javascript文件为:
define(function () {
"use strict";
var a = {
b: 5
};
return a;
});
所以我需要
a)删除Object.defineProperty(exports,“ __esModule”,{value:true}); 线
b)除去需要和从限定出口依赖性
c)不具有内部功能的“a”,然后暴露“一”出口,而是简单地在a.js文件返回“一个”对象
我需要对tsconfig.json和a.ts文件进行哪些更改才能获得所需的Javascript文件或更接近它的文件,从当前a.js到我需要的任何改进都将是巨大的,甚至是3或1或2要求。
一种方法是使a.ts与所需的a.js文件完全相同,然后进行编译,但是由于另一个不相关的要求,我必须使用export语句的方式来制作amd模块。感谢您阅读到这里。请帮忙。