目前,当您尝试使用css-loader和style-loader导入样式时,每次为包含对所需样式的引用的块导入style-loader/addStyles.js和css-loader/lib/css-base.js中定义的加载器运行时,这会创建不必要的重复代码。
是否有任何官方方法可以将代码移动到某些"运行时入口点"然后使用CommonsChunkPlugin
处理它,就像使用standard Webpack chunk manifest approach?
我当前(未经过全面测试)的方法是将这两个文件包含在某个运行时入口点中,然后使用NormalModuleReplacementPlugin
将这两个需求的每个未来实例替换为运行时入口点中定义的那些:
module.exports = {
entries: {
runtime: [
'style-loader/addStyles',
'css-loader/lib/css-base',
]
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ['runtime'],
minChunks: Infinity
}),
new webpack.NormalModuleReplacementPlugin(new RegExp('style-loader/addStyles'), require.resolve('style-loader/addStyles')),
new webpack.NormalModuleReplacementPlugin(new RegExp('css-loader/lib/css-base'), require.resolve('css-loader/lib/css-base'))
]
};
这有意义吗?