热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RequireJS模块的TypeScript编译生成行Object.defineProperty(exports,“__esModule”,{value:true});如何摆脱它?

如何解决《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模块。感谢您阅读到这里。请帮忙。


推荐阅读
author-avatar
手机用户2502856895
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有