在node.js中,如何将变量传递给:来自jade的stylus过滤器?

cc *_*ung 3 stylus node.js pug

jade我希望stylus过滤器使用的范围内创建一个变量.

使用#{var}似乎不起作用.例如,这段代码:

  - var color1 = 'blue'
  stylus:
    div
      background-color pink
      color #{color1}

给出结果错误:

/home/data/tnt/server/node/www/tech/cool.jade:2
   1| div
   2|   background-color pink
 > 3|   color #{color1}
   4|   

expected "indent", got "outdent"

如何在过滤器中看到jade变量?color1stylus

nem*_*esv 5

过滤器(如手写笔,降价等)在"编译时"执行,只执行一次.

但文本替换是在运行时完成的,因此过滤器无法访问变量.

过滤器只能访问原始文本,例如.color #{color1}并不是color blue

作为一种解决方法,您可以创建一个辅助方法,您可以在其中进行触控模板化并在多个位置按照建议自行渲染(我只找到了使用降价过滤器的示例,但过滤器的工作方式相同,因此它们也适用于stylus过滤器):