簡體   English   中英

如何在 TypeScript 中為僅導出的模塊定義名稱

[英]How To Define The Name For A Module With Only Exports In TypeScript

我正在嘗試將大量 TypeScript 文件構建到一個文件中,以便為基於瀏覽器的 TDD 快速加載瀏覽器。 主 index.ts 文件位於此處,如下所示

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

構建單個文件,但在其中,根模塊的名稱默認為 index:

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”的最簡單的自動化方法是什么?

正如手冊所述,AMD 模塊名稱可以指定為注釋指令:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM