如何定义仅在TypeScript中导出的模块的名称

时间:2018-05-15 13:31:09

标签: typescript npm

我正在尝试将一大堆TypeScript文件构建到单个文件中,以便为基于浏览器的TDD快速加载浏览器。主index.ts文件位于here,看起来像这样

export * from "./xrm-mock/index";
export { XrmMockGenerator } from "./xrm-mock-generator/index";

最初有两个独立的库,xrm-mock和xrm-mock-generator。很快就确定不需要两个,并且两个库使用这个文件组合在一起。到目前为止一切都很好。

我是从npm引用这个项目的,并使用StealJs在我的单元测试中使用Karma加载文件,但加载所有文件大约需要3-6秒。解?将所有文件打包到一个文件中。

我使用了这个构建脚本

tsc --outFile ./build/build.js --module amd

构建单个文件,但在其中,根模块的名称默认为索引:

define("index", ["require", "exports", "xrm-mock/index", "xrm-mock-generator/index"], function (require, exports, xrmMock, index_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.xrmMock = xrmMock;
    exports.XrmMockGenerator = index_1.XrmMockGenerator;
});

当我想将其默认为“xrm-mock”时。

有没有办法让TypeScript将名称转换为“xrm-mock”而不是index.ts?

如果没有,那么编辑文件最简单的自动方法(“js”和“d.ts”),后期构建,用“xrm-mock”替换“index”?

1 个答案:

答案 0 :(得分:1)

作为the manual states,可以将AMD模块名称指定为注释指令:

///<amd-module name="xrm-mock"/>