(不)将局部variables传递给Express(node.js)中的Jade模板

这是我的情况:我有一个login.jade模板,我authentication用户。 在那个模板里面我有几个如果是这样的:

- if (badLogin) div#loginErr | <strong>Please try again</strong> | | The password or username you entered is incorrect. - if (loginError) div#loginErr | <strong>Please try again later</strong> | | Our authentication service isn't available at the moment. 

在Express中我总是必须声明所有可能在Jade模板中使用的局部variables。 否则我会得到:

 loginError is not defined 

我的观点是,如果在Jade模板中,我会有10个包含局部variables的“if”语句,而不是渲染时,我将不得不始终传递这10个variables,即使我只在该特定情况下使用这个variables。

我只是想,如果我不把任何variables传递给Jade模板,那么“if(var)”的结果就是“false”。

任何工作的机会呢?

if (typeof loginError !== "undefined")

这使您可以检查不存在的variables。

正如@GeoffChappel所说,我早就已经提到过了

我确实改变了他们如何处理注入局部variables的思想。 我认为他们使用适当的分析器或dynamic创build新的function。