【发布时间】:2017-07-17 04:52:38
【问题描述】:
我遇到了 express 脚本的问题。我正在调用一个渲染视图的函数,另一个函数的成功。在这个项目中,我使用 angular、node、express 和 ejs 作为视图引擎。当我渲染视图时,很遗憾收到以下 ejs 错误:
ReferenceError: /Users/emilywfrancis/Desktop/nodejs-angularjs-sequelizejs/views/about.ejs:5
3| <html ng-app="app">
4| <meta charset="utf-8">
5| <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/3.1.0/css/font-awesome.min.css" />
6| <% include header %>
7| <% include navbar %>
8| <body>
title is not defined
代码如下:
exports.verifyusers= function(req, res) {
models.user.find({
where: {
email: req.body.email,
password: req.body.password
}
}).then(function(res, user) {
if(user == "user.name") { //if user exists in database
res.render('/about')
};
});
};
【问题讨论】:
-
似乎错误实际上在
header文件中。哪个正确有这样的东西:<%= title %> -
是的,有——但是,我不明白为什么这会引发错误。
-
另外,错误给出了指向第 5 行的错误
-
我假设模板被编译为 JavaScript,类似于:
"<title>" + title + "</title>"。使用:<%= (typeof title != "undefined" ? title : "") %>,它会正常工作,因为生成的 JavaScript 是:"<title>" + (typeof title != "undefined" ? title : "") + "</title>" -
是的,这行得通——谢谢。
标签: javascript angularjs express ejs