禁用树木摇晃

时间:2018-05-16 21:23:13

标签: angular angular-cli tree-shaking angular-cli-v6

我们正在构建一个Angular应用程序,该应用程序应具有发现和动态加载自定义库的能力,即构建时未知/可用的库。

为了支持这一点,我们不能破坏主应用程序,因为这些自定义库可以使用主应用程序没有的第三方库中的符号(例如angular,rxjs)。

使用angular-cli v6解决问题的方法是什么?有没有办法在生产构建中禁用树抖动?

1 个答案:

答案 0 :(得分:1)

我认为树摇动过程是angular-cli AOT构建功能的一部分,但是documentation本身并没有提供很多关于这是如何完成以及天气与否的信息你可以启用/禁用此功能。就我而言,没有直接的方法可以在angular-cli中禁用树摇动。 cli documentation声明如下:

  

所有构建都使用捆绑和有限的树抖动,而--prod   构建还通过UglifyJS运行有限的死代码消除。

所以这似乎与AOT挂钩了。禁用树摇动可能也与angular-cli在过去一年左右的建筑选项中所尝试的相反,主要是为了使它成为一种易于使用的工具来减少角度的捆绑尺寸。

angular-cli提供了一些调整建筑物的选项,但是对于树摇动部分,我猜你要么不得不以某种方式使用它,或者,如果不可能,你可能需要深入挖掘并尝试使用像webpack这样的东西来创建你自己的构建(我认为cli在它下面使用它)。你几乎可以调整一切。这种自由当然伴随着增加时间投入的成本,以创建与角度build命令相当的高效构建。