須要安裝一個插件:sass-resources-loadercss
一、執行安裝命令:vue
npm i sass-resources-loader --save-dev
二、修改vue-cli環境下build文件夾下utils.js,找到scss加載位置:vue-cli
return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: generateLoaders('sass'), stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') }
修改成:npm
return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: generateLoaders('sass').concat({ loader: 'sass-resources-loader', // 爲了scss全局變量能在vue文件中使用 options: { resources: path.resolve(__dirname, './../src/assets/scss/_var.scss') } }), stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') }
三、在_var.scss中定義變量:sass
// 自定義主題色 $theme-color: #008dfa;
四、在vue組件中使用自定義的變量:app
<style lang="scss"> .site-wrapper-main{ box-shadow: inset 0px 0px 1px 0px $theme-color; } </style>