如何在scss中使用js变量?
How to use js variable in scss?
在vite项目中,我在.env
中定义了一个env变量:
VITE_THEME=1
我有一个 variables.scss
文件来定义一个变量:
$theme-color: red;
我可以在 js 中使用 import.meta.env.VITE_THEME
来获取 VITE_THEME
,但现在我想在 variables.scss
中使用它来更改 theme-color
,例如:
$theme-color: import.meta.env.VITE_THEME == 1 ? red : yellow;
我该怎么做?
在这种情况下,您应该使用 CSS-in-JS 库。 CSS 不是一种编程语言,您不应该只用它获取一些数据。或者,您可以有条件地在 JS 中的 body 标签中添加一个 class 并根据它在 CSS 中配置样式。有一些方法可以编译你的 SCSS 以便它从文件中获取一些数据,但它不会是反应性的。如果你只想改变一个元素,你也可以有条件地应用 classes 和 style
属性。
在vite项目中,我在.env
中定义了一个env变量:
VITE_THEME=1
我有一个 variables.scss
文件来定义一个变量:
$theme-color: red;
我可以在 js 中使用 import.meta.env.VITE_THEME
来获取 VITE_THEME
,但现在我想在 variables.scss
中使用它来更改 theme-color
,例如:
$theme-color: import.meta.env.VITE_THEME == 1 ? red : yellow;
我该怎么做?
在这种情况下,您应该使用 CSS-in-JS 库。 CSS 不是一种编程语言,您不应该只用它获取一些数据。或者,您可以有条件地在 JS 中的 body 标签中添加一个 class 并根据它在 CSS 中配置样式。有一些方法可以编译你的 SCSS 以便它从文件中获取一些数据,但它不会是反应性的。如果你只想改变一个元素,你也可以有条件地应用 classes 和 style
属性。