在两个不同的块中包含引导代码

时间:2017-03-12 09:55:10

标签: webpack webpack-2

我在特定用例的网络包中苦苦挣扎,我想知道某人是否已经遇到过这个问题。

所以:

我有3个条目:

application: 'src/app.js'
seedFile: 'src/seed.js'
vendor: ['jquery', 'axios', 'otherLibs']

然后我使用CommonChunksPlugin作为供应商条目

new webpack.optimize.CommonsChunkPlugin
  name: 'vendor'
  minChunks: Infinity

该插件将删除对所选库的所有引用,并将它们仅在公共块中捆绑一次。

webpack运行时/引导代码也被捆绑到vendor.js文件中,这意味着我必须在我的应用程序中包含两个文件才能使它工作:

<script src="vendor.js"></script>
<script src="application.js"></script>

这完全可以。

现在我想做的事情(我正在努力的地方)是seed条目将是&#34;自包含&#34;,这意味着我可以使用它必须提供vendor.js文件才能实现运行时/引导程序代码。

注意: seed条目 NOT 包含对任何vendor库的依赖性。包含该文件的唯一原因就是拥有Web包引导程序/运行时代码。

你们知道处理这种情况的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

我不确定你想要实现的目标,但你可以做到以下几点:

new webpack.optimize.CommonsChunkPlugin({
  names: ['commons', 'vendor', 'manifest'],
  minChuncks: Infinity
})

commons.js中,您将拥有所有条目的所有公共代码(对于您的特定情况,它可能为空)。在manifest.js文件中,您将只有webpack引导代码。

答案 1 :(得分:0)

似乎Webpack本身不支持这种情况。但是,可以导出一组配置,您可以根据需要进行建模。