Express&jade(node.js) - 检查存在时变量未定义错误

uor*_*001 4 javascript view node.js pug

我在一个非常简单的快递应用程序上得到了一个非常愚蠢的错误.我使用jade作为视图引擎,我这样说是为了防止它与问题有关.

我正在尝试检查变量是否已定义以呈现一个或另一个,但只是检查该变量会触发"变量未定义"错误.这不是我期望的行为,所以我想知道我做错了什么.这是我正在使用的视图代码:

h1= title
- if (user)
    p Welcome to #{title}, #{user.username}
- else 
    p Welcome to #{title}
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?必须有一种方法来检查视图上的变量.: - /

编辑:忘记说错误被触发到哪一行,它在第二行" - if(user)"触发.

Ben*_*min 13

正如在另一个答案中提到的,Jade文档的Public API部分说该locals变量是数据传递给Jade模板的方式.在云雀上我将我的变量添加到玉石模板中locals.这正确地绕过了错误.

所以以下Jade模板应该可以解决您的错误:

h1= title
- if (locals.user)
    p Welcome to #{title}, #{user.username}
- else 
    p Welcome to #{title}
Run Code Online (Sandbox Code Playgroud)