上一篇記錄了一下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,運行項目