- 使用: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文件或模块中引用。 main.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 两个新增的伪类。