上一篇记录了一下sass得引用,现在想把sass样式提取出来,做成公共得,配置全局变量
1,babel插件可以完美的解决这个问题:sass-resources-loader可以访问sass资源任何一个需要访问的sass模块。所以,可以使用共享变量和混合所有SASS样式,而不去每个文件都引用:
npm i sass-resources-loader --save-dev
2,修改config/index文件,在module.exports里面添加以下代码
static: { scss: '../static/css/global.scss' }
3,修改build/utils文件,在exports.cssLoaders里面添加以下代码
const resourecesSass = []; if (config.static.scss) { resourecesSass.push({ loader: 'sass-resources-loader', options: { resources: path.resolve(__dirname, config.static.scss) } }) }
4,修改下面的return代码
return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: [...generateLoaders('sass'),...resourecesSass],//修改这一行代码 stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') }
5,运行项目