防止tsc编译器省略不必要的外部模块

Meh*_*ran 1 requirejs typescript

TypeScript中有一个我非常喜欢的功能,那就是使用RequireJs的外部模块,以及编译器不包含导入模块的事实,除非代码中实际需要它们.这是一个例子:

import A = require('./A');
import B = require('./B');

var a = new A();
Run Code Online (Sandbox Code Playgroud)

使用tsc --module amd example.ts它编译上面的代码时,它将转换为:

define(["require", "exports", './A'], function(require, exports, A) {
    var a = new A();
});
Run Code Online (Sandbox Code Playgroud)

正如您所看到的B,生成的代码中没有任何迹象.那是因为B实际上没有使用过.正如我所说的这个功能很棒但现在我有一个场景,我需要包含一些外部模块,即使它们实际上没有在代码中的任何地方使用.

有谁知道怎么做?为了防止任何误解,我不想找到一种完全禁用此功能的方法,仅适用于某些特定模块.

Zer*_*One 5

另一种方法:

/// <amd-dependency path="./B" />
import A = require('./A');
Run Code Online (Sandbox Code Playgroud)

无需创建虚构代码