通过 sass-resources-loader 全局注册 Sass 变量

如何在我们的vue项目中全局引入scss文件呢

公共样式可以写在app.vue这个父组件的style标签中,这样我们写的子组件就能继承这些公共样式,但是,我们自定义的scss的变量继承不了!!

如果我们想使用公共的scss样式变量(比如app的主题颜色),我们就只能是每写一个.vue文件都要在style标签里面

  1. 安装node-sass、sass-loader、style-loader
    1 npm install node-sass
    2 npm install sass-loader
    3 npm install style-loader 

     

  2. 安装sass-resources-loader
    1 npm install sass-resources-loader
  3. 修改build中的utils.js
     1   将 scss: generateLoaders('sass')
     2   修改成:
     3       scss: generateLoaders('sass').concat(
     4         {
     5           loader: 'sass-resources-loader',
     6           options: {
     7             resources: path.resolve(__dirname, '../src/assets/style/public-variables.scss')
     8           }
     9        }
    10      )
  4. public-variables.scss文件
    $color-red: #F56C6C;

     

  5. 在assets中创建了一个public-variables.scss作为公共样式文件。

    最后在vue组件中的style标签中添加lang="scss",就ok了。这样我们就实现了全局引入scss中的变量$color-red

 

posted @ 2021-01-14 15:55  一点元气  阅读(343)  评论(0编辑  收藏  举报