vue-cli中如何将让scss变量能够同时在scss和js中使用

变量创建

所有scss变量在 styles/variables.scss.js编写,格式要求为:

/**
 * variables.scss.js中变量的命名规则如下:
 * 1.驼峰命名法
 * 使用方式如下:
 * 1.在scss变量中使用是正常的scss变量:$sideBarWidth
 * 2.在js中使用是定义时的变量格式:import { sideBarWidth } from "@/style/variables.scss.js";
 * */
module.exports = {
  // sideBar
  menuText: '#bfcbd9',
  menuActiveText: '#409EFF',
  subMenuActiveText: '#f4f4f5',
  menuBg: '#304156',
  menuHover: '#263445',
  subMenuBg: '#1f2d3d',
  subMenuHover: '#001528',
  sideBarWidth: '210px'
}

变量配置

在 vue.config.js 

const scssVariables = require('./src/styles/variables.scss.js')

module.exports = {
// 配置全局样式变量
  css: {
    loaderOptions: {
      sass: {
        // prependData: '@import "@/styles/variables.scss";'
        prependData: Object.keys(scssVariables)
          .map((k) => `$${k}: ${scssVariables[k]};`)
          .join('\n')
      }
    }
  }
}

变量使用

配置webpack中sass解析方式,一般来说项目构建者已经处理完毕,项目成员无需关心。
使用时无需引入,直接在样式文件中正常使用即可。

.nav{
  color: $menuBg;
}
const width = sideBarWidth

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值