我正在尝试找到一种方法,从我的Webpack捆绑包中排除特定的子依赖包。我尝试了许多方法,最近的尝试是滥用externals选项,例如:
externals: [
function externals(context, request, callback) {
if (
context.includes('ui-lib/node_modules/react-dom/') ||
context.includes('ui-lib/node_modules/d3/') ||
context.includes('ui-lib/node_modules/lodash/')
) {
return false;
}
callback();
},
],
如果没有成功,有其他方法可以实现吗?
我有一个供应商捆绑包,看起来像这样:
我想排除node-modules下的重复包,例如react-dom。
入口点
entry: {
app: ['babel-polyfill', path.join(__dirname, './../index.dev.js')],
vendor: ['react', 'react-dom', 'd3'],
},
公共块
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
filename: 'vendorbundle.js',
chunks: ['app'],
minChunks(module) {
return module.context && module.context.includes('node_modules');
},
}),