vue3中使用scss全局变量

1,282 阅读1分钟

vue3中使用scss全局变量

1、安装库:sass-resources-loader 安装命令 install sass-resources-loader --save-dev

or yarn add sass-resources-loader --dev

2、vue.config.js 配置

 const {defineConfig} = require('@vue/cli-service')
 module.exports = defineConfig({
     transpileDependencies: true,
     // 默认启动端口设置
     devServer: {
         port: 80 //devServer//设置本地默认端口
     },
     //全局 sass的配置
     chainWebpack(config) {
         globalSass(config)
     }
 })
 ​
 ​
 /**
  * 注意Dependencies需要引入
  * "sass": "^1.32.7",
  *"sass-loader": "^12.0.0",
  *"sass-resources-loader": "^2.2.5"
  * 全局变量的Sass引方法,值得收藏
  * @param config  chainWebpack(config) 中来的一个配置
  */
 const globalSass = config => {
     const oneOfsMap = config.module.rule('scss').oneOfs.store
     oneOfsMap.forEach((item) => {
         item
             .use('sass-resources-loader')
             .loader('sass-resources-loader')
             .options({
                 resources: './src/styles/common.scss'  //相对路径
             })
             .end()
     })
 }

3、已经可以在任何组件中,使用全局变量了

 <style lang="scss" scoped>
 .cmp-login {
   border: 1px solid $red;   //这个$red是 全局引入的scss中定义的 
 }
 </style>

\