webpack提取sass的公共样式
webpack打包多页面,每一个页面都有一个单独的scss文件 然后这每一个单独的scss文件都需要引入一个公用样式文件scss
webpack打包的出来的css文件都引入的公用base.scss样式文件都直接打包进来了。左边为index.css右边为pagea.css
我的需求就是能够把多次引入的base.scss 单独打包成一个common.css文件
这是生产模式下的sass处理plugin
new HappyPack({
id: 'css',
verbose: true,
threadPool: happyThreadPool,
loaders: [
{loader: 'css-loader', options: {importLoaders: 1, minimize: true}},
{loader: 'postcss-loader'},
{loader:'sass-loader'}
]
}),
/*加载把css文件单独分离出来的插件*/
new ExtractTextPlugin({
filename: (getPath) => {
return getPath('css/[name]-[contenthash:6].css').replace('css/js', 'css');
/* [name] 根据html名字获取的css名字 contenthash:6加上hash:6值*/
},
allChunks: true
}),
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
建议把公共样式提取到单独的文件中,在js引入,通过splitChunks或者异步引入,使其单独生成文件
scss中引入公共的mixins,变量等