我有一个webpack构建过程,其中DllPlugin
用于预先构建一个包列表。这允许开发人员定位他们正在积极开发的特定包,并有助于加快重建过程。
如何配置webpack以从Dll构建中排除“package-abc”,尽管“package-xyz”在Dll构建中依赖于它。
我尝试过配置webpackConfig.externals
和libraryTarget
的不同组合,但到目前为止还没有运气。
答案 0 :(得分:0)
我通过以下方式解决了这个复杂的问题:
在一天结束时,我不得不放弃这个解决方案,因为我的代码库中有一些意大利面依赖性。但我确实让它在一个小小的设置中工作。
例如,如果你的主要条目包括A,B和C +(main.js,index.js)
您希望通过将所有内容添加到Dll版本来加快构建时间,但正在积极开发的包B除外。但是,A导入B和C,B也导入C.main.js导入A.
将DllPlugin设置为包含A将自动包含B和C.但是,如果将B添加到Dll构建的外部列表中,C最终会在Dll构建中结束(这是您想要的)。但现在你有一个循环依赖。
热重载二级条目中的B取决于C的Dll构建.Dll构建依赖于B.我编写了一个脚本来识别循环依赖并将C放在一个单独的Dll中。使用排序函数挂钩到HtmlWebpackPlugin我能够对以此顺序结尾的脚本标记的插入进行排序: