如何在Jade模板filter中转义代码,而不使用单引号?

我在Node.js的Jade中使用了CoffeeScriptfilter,因为我需要将它插入到我生成的脚本标记的内容中。 我可以这样做:

:coffeescript myNum = '#{locals.myNum}' 

在服务器上,locals.myNum是一个数字,但我必须引用转义语法,以便在浏览器上以string结尾。 我可以用parseInt解决这个问题,但是可能有更好的方法。 像\#{locals.myNum}会解决我的问题,但不起作用。 现在,我必须在模板编译期间每次将服务器端放入我的JS时调用parseInt。

有没有办法让Jade在编译模板的时候评估和输出#{}的内容而不用单引号的string呢?

你可以用脚本块代替:coffeescript,然后在你的:coffeescript块中引用它。 不是最好的,而是parseInt的替代scheme。

 script myNum = #{locals.myNum}