本文介绍了防止TSC编译器省略不必要的外部模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
TypeScript中有一个我非常喜欢的功能,那就是使用RequireJ的外部模块,除非代码中确实需要,否则编译器不会包含导入的模块。这里有个例子:
import A = require('./A');
import B = require('./B');
var a = new A();
当您使用tsc --module amd example.ts
编译上述代码时,它将转换为:
define(["require", "exports", './A'], function(require, exports, A) {
var a = new A();
});
如您所见,在生成的代码中没有B
的符号。这是因为没有实际使用B
。正如我所说的,这个特性很棒,但是现在我有了一个场景,其中我需要包括一些外部模块,即使它们实际上没有在代码中的任何地方使用。
有人知道怎么做吗?为防止任何误解,我不会寻找完全禁用此功能的方法,仅针对某些特定模块。
推荐答案
另一种方式:
/// <amd-dependency path="./B" />
import A = require('./A');
无需创建虚构代码
这篇关于防止TSC编译器省略不必要的外部模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!