Vue3 中 scss 导出的变量,控制台输出 undefined 的解决方法
0x00 问题描述
在用vue3
写后台管理的时候遇到的一个比较坑的问题,代码如下
...
variables.scss
// sidebar
$menuText: #bfcbd9;
$menuActiveText: #ffffff;
$subMenuActiveText: #f4f4f5;
$menuBg: #304156;
$menuHover: #263445;
$subMenuBg: #1f2d3d;
$subMenuHover: #001528;
$sideBarWidth: 210px;
$hideSideBarWidth: 67px;
$sideBarDuration: 0.28s;
:export {
menuText: $menuText;
menuActiveText: $menuActiveText;
subMenuActiveText: $subMenuActiveText;
menuBg: $menuBg;
menuHover: $menuHover;
subMenuBg: $subMenuBg;
subMenuHover: $subMenuHover;
sideBarWidth: $sideBarWidth;
hideSideBarWidth: $hideSideBarWidth;
}
可是在界面上却发现asideWidth
的值是空的,控制台也打印出了undefined
,啥情况。
0x01 解决办法
找了半天也没发现什么问题,最后在 https://segmentfault.com/q/1010000040347836 这篇文章中发现在.scss
文件名前面加上.module
这个办法。于是本着试一试的想法重新改了下代码,没想到真的可以!