[Vuejs] 在vue各個組件中應用全局scss變量

須要安裝一個插件: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>
相關文章
相關標籤/搜索