【发布时间】:2018-04-28 02:37:05
【问题描述】:
这就是我的 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) 从define
中移除require和exports依赖
c) 没有内部函数“a”,然后在导出时公开“a”,而是简单地在 a.js 文件中返回“a”对象
我需要对 tsconfig.json 和 a.ts 文件进行哪些更改才能获得所需的 Javascript 文件或更接近它的文件,从当前 a.js 到我需要的任何改进都会很棒,即使是 1 或 2满足 3 个要求。
一种方法是使a.ts完全像我想要的a.js文件然后编译,但是由于另一个不相关的要求,我必须使用export语句的方式来制作amd模块。感谢您阅读到这里。请帮忙。
【问题讨论】:
-
@AluanHaddad 是的,这似乎是重复的。所以这意味着没有办法?如果不阻止我对导出对象的功能,则必须有某种方法来删除 Object.defineProperty 行并要求和导出依赖项,a) 和 b) 在我上面的问题中?
标签: javascript typescript requirejs amd tsc