本文介绍了防止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编译器省略不必要的外部模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 18:23