在JS中如何使用css变量详解

在JS中如何使用css变量

使用: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;
}

在需要的js文件或模块中引用。

import style from 'index.scss'
console.log(style.menuText)

vue文件

import style from 'index.scss'
export default {
    computed:{
        style(){
            return style
        }
    }
}

实现原理

Webpack:结合css-loader在项目中启用CSS Modules。

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

附:export之javascript关键字

Javascript关键字(Reserved Words)是指在Javascript语言中有特定含义,成为Javascript语法中一部分的那些字。Javascript关键字是不能作为变量名和函数名使用的。使用Javascript关键字作为变量名或函数名,会使Javascript在载入过程中出现编译错误。

Javascript关键字列表:

break 、 delete 、 function 、 return 、 typeof 
case  、 do 、 if  、switch 、 var 
catch 、 else 、 in 、 this  、void 
continue 、 false 、 instanceof 、 throw 、 while 
debugger 、 finally 、 new 、 true 、 with 
default 、 for 、 null 、 try

Javascript未来关键字列表:

abstract 、 double 、 goto 、 native 、 static 
boolean  、enum 、implements 、package 、 super 
byte 、 export 、 import 、 private 、 synchronized 
char 、 extends 、 int 、 protected 、 throws 
class 、final 、 interface 、 public 、 transient 
const 、float 、 long 、short 、 volatile 

总结

到此这篇关于在JS中如何使用css变量的文章就介绍到这了,更多相关JS使用css变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的