【问题标题】:nodejs express error: Failed to lookup view "/pages/message" in views directorynodejs express 错误:无法在视图目录中查找视图“/pages/message”
【发布时间】:2015-12-12 16:38:21
【问题描述】:

这很奇怪,因为它以前曾多次工作,但现在当我尝试使用 res.render 向客户端发送 html 页面时,我只是从标题中得到错误。 html 文件显然在views 文件夹中,那么可能是什么问题?

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

app.get('/photos', function(req, res) {
    res.render('/pages/photo');
});

app.get('/message', function(req, res) {
    res.render('/pages/message');
});

【问题讨论】:

  • @Saad 看看标题 :-)
  • 点击 /photos 会报错吗?

标签: node.js express ejs


【解决方案1】:

模板路径应该是相对的(相对于views 目录):

res.render('pages/photo');
res.render('pages/message');

文件也应该以.ejs 作为扩展名。

【讨论】:

    【解决方案2】:
    1. 您不需要显式定义视图,它会自动默认为视图文件夹。
    2. 确保您的直接结构如下:
    /
       app.js <---the code above
       /views
           /pages
              photo.ejs
              message.ejs
    

    并删除@robertklep 所述的视图前的“/”

    【讨论】:

      猜你喜欢
      • 2017-12-20
      • 2021-07-23
      • 2015-08-19
      • 2016-01-27
      • 2018-11-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2017-01-14
      相关资源
      最近更新 更多