重复数据删除样式加载器和css-loader运行时代码

时间:2017-02-17 09:12:53

标签: webpack webpack-style-loader css-loader

目前,当您尝试使用css-loader和style-loader导入样式时,每次为包含对所需样式的引用的块导入style-loader/addStyles.jscss-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'))
    ]
};

这有意义吗?

0 个答案:

没有答案