Webpack中包含多个供应商包的多个入口点

我有几个“单页应用程序”,需要在一个总体应用程序中并行运行。 为此,我使用webpack来触发jsx和scss的转换,捆绑生成的css和js,拆分由我们编写的应用程序代码和来自第三方来源的应用程序代码。

不幸的是,似乎webpack对于如何捆绑供应商文件非常有见地 – 它想要为我所有的入口点创build一个大的供应商捆绑包,而不是像这样更合理的拆分:

- app1 - app1.bundle.js - app1.vendor.bundle.js - app1.bundle.css - app2 - app2.bundle.js - app2.vendor.bundle.js - app2.bundle.css 

我特别不希望遇到这样的情况:我将一些大的(如JQuery)库导入到应用程序2中,并将其包含在不需要它的其他应用程序的供应商捆绑包中。 我们的许多页面使用完全不同的前端堆栈,如果我使用整个Web应用程序的单个vendor.js文件,我可以很快看到这种膨胀失控。

我还希望自动完成 – webpack应该能够扫描我的入口点,检测哪些第三方库(可能通过引用节点模块?)正在导入,只包括供应商文件中的该应用程序。 我不想在我的webpackconfiguration中添加第三方依赖到一个数组中并在我的入口点require()它们。 这似乎很多余。

我没关系的app1.vendor.bundle.jsapp2.vendor.bundle.js有重叠(即,如果他们都导入React,他们都可以包括在他们单独的捆绑代码)。 我认为这比pipe理在我网站上运行的部分应用程序共享的通用文件要容易得多。

有没有什么办法可以自己在webpack中实现,或者我将不得不写一些自定义的解决scheme来包装它呢? 我见过的所有例子都有人为整个应用程序编译一个全面的供应商包。