Stylus变量范围如何跨文件工作?

mel*_*jen 12 css stylus

理想情况下,我想设置一个文件"colors.styl",我可以在其中定义网站上使用的所有颜色,如下所示:

// --------------- GENERAL VARIABLE DEFINITIONS
$beige        = #F2F2F2
$darkGrey     = #282828
$errorRed     = #B94A48
Run Code Online (Sandbox Code Playgroud)

当我尝试在其他文件中访问这些变量时,我只返回变量名而不是已解析的值:

body {
  background-color: $beige;
Run Code Online (Sandbox Code Playgroud)

我正在按顺序编译文件,所以colors.styl先于其余部分.变量是否会在Stylus中的文件中丢失范围?

Myr*_*tol 11

@import "colors"您也可以创建一个主加载器文件,而不是在每个文件中执行,如下所示:

 @import "colors"

 @import "styles1"
 @import "styles2"
Run Code Online (Sandbox Code Playgroud)

colors.styl中定义的变量将在styles1.styl和styles2.styl中可用.手写笔的输出将是一个包含所有样式的大css文件.


thg*_*ell 1

是的,变量失去了跨文件的作用域。

但您可以@import color在其他文件中访问这些变量。