Javascript 使用整个npm模块创建异步WebPack CommonChunk

Javascript 使用整个npm模块创建异步WebPack CommonChunk,javascript,webpack,webpack-2,Javascript,Webpack,Webpack 2,我正在尝试创建一个带有react dnd和两个react dnd后端的异步公共块,以及一个带有所有剩余节点实用程序的异步公共块(位于node_modules中的任何内容) 代码如下。我的react-dndbundle中确实有这三个npm实用程序,但这就是它的全部功能。它没有那些实用程序所依赖的东西,比如dnd core,等等。这些依赖关系在catch-all包中,all节点 实现我想要的最直接的方法是什么 new webpack.optimize.CommonsChunkPlugin({

我正在尝试创建一个带有
react dnd
和两个
react dnd
后端的异步公共块,以及一个带有所有剩余节点实用程序的异步公共块(位于
node_modules
中的任何内容)

代码如下。我的
react-dnd
bundle中确实有这三个
npm
实用程序,但这就是它的全部功能。它没有那些实用程序所依赖的东西,比如
dnd core
,等等。这些依赖关系在catch-all包中,
all节点

实现我想要的最直接的方法是什么

new webpack.optimize.CommonsChunkPlugin({
    filename: 'all-node.js',
    async: 'all-node',
    minChunks(module, count) {
        var context = module.context;
        return context && context.indexOf('node_modules') >= 0;
    },
}),

new webpack.optimize.CommonsChunkPlugin({
    chunks: ['react-dnd'],
    filename: 'react-dnd.js',
    async: 'react-dnd',
    children: true,
    minChunks(module, count) {
        var context = module.context;
        var targets = ['react-dnd', 'react-dnd-html5-backend', 'react-dnd-touch-backend']
        return count > 1 || (context && context.indexOf('node_modules') >= 0 && targets.find(t => new RegExp('\\\\' + t + '\\\\', 'i').test(context)));
    },
}),

我现在意识到这根本不是一个好主意。npm模块的依赖关系可以在彼此之间共享,因此强制将react dnd的完整依赖关系树粘贴到一个捆绑包中,而react router的完整依赖关系树粘贴到另一个捆绑包中,将导致树的并集之间的重复。

我现在意识到这是一个根本上不好的主意。npm模块的依赖关系可以在彼此之间共享,因此强制将react dnd的完整依赖关系树粘贴到一个捆绑包中,而react路由器的完整依赖关系树粘贴到另一个捆绑包中,将导致树的并集之间的重复