将vendor.js拆分为多个块

问题描述 投票:1回答:1

我正在使用角度cli处理Angular 5项目。我在网站的开发中使用了一些npm模块。当我创建生产版本时,它会生成大小在MB中的vendor.js,因为当用户第一次打开它时,网站加载速度非常慢。

我已经尝试添加一些额外的参数,同时使构建ng build --prod --aot --buildOptimizerbut仍然它的大小相比其他文件相当大。

在webpack中是否有任何方法我可以将vendor.js拆分为多个文件或减少文件或延迟加载vendor.js文件?

angular webpack webpack-2 angular2-aot vendor
1个回答
2
投票

是。在webpack 4中,你可以使用splitChunks配置和SplitChunksPlugin,而在较低版本,你可以使用AggressiveSplittingPlugin。虽然这些变化本身并没有太大帮助,但总大小保持不变。

对某些图书馆来说,lazy-load更好。为此,您可以动态导入库(或使用它们的模块/文件)而不是import语句,但由于这是异步操作,因此需要重写代码逻辑。当你使用角度时,使用framework-specific延迟加载可能更容易

另一个注意事项:如果库是从多个模块使用的,一个是动态加载而另一个是使用import语句,那么它最终会以vendor包结尾,所以你要确保这些库的所有导入都是动态的。

© www.soinside.com 2019 - 2024. All rights reserved.