[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>
相关文章
相关标签/搜索