在JS中使用css变量的方式

2,528 阅读1分钟
  1. 使用:export关键字在less/scss文件中导出一个js对象。
$menuText:#bfcbd9;
$menuActiveText:#409EFF;
$subMenuActiveText:#f4f4f5;

// $menuBg:#304156;
$menuBg:#304156;
$menuHover:#263445;

$subMenuBg:#1f2d3d;
$subMenuHover:#001528;

$backWhite:#ffffff;

$sideBarWidth: 210px;

:export {
  menuText: $menuText;
  menuActiveText: $menuActiveText;
  subMenuActiveText: $subMenuActiveText;
  menuBg: $menuBg;
  menuHover: $menuHover;
  subMenuBg: $subMenuBg;
  subMenuHover: $subMenuHover;
  sideBarWidth: $sideBarWidth;
  backWhite: $backWhite;
}
  1. 在需要的js文件或模块中引用。 main.js
import style from 'index.scss'
console.log(style.menuText)

vue文件

import style from 'index.scss'
export default {
    computed:{
        style(){
            return style
        }
    }
}
  1. 实现原理 Webpack:结合css-loader在项目中启用CSS Modules。

CSS Modules:CSS Modules 内部通过 ICSS 来解决样式导入和导出这两个问题。分别对应 :import 和 :export 两个新增的伪类。