具有参数的路由返回“找不到模板”但存在

时间:2018-07-07 21:18:21

标签: node.js express

我已经设置了一条路由,该路由在获取参数值,从json文件获取数据的范围内一直有效。

该页面存在,但是,如果我尝试返回带有数据的视图,以便可以在页面中显示它,它只会返回“错误:找不到模板:/projects/work/index.html”

如何渲染视图?

router.get('/projects/work/index/:id', function (req, res) {
   console.log(req.params.id); //Returns an ID ok

  var id = req.params.id;
  var obj = require('./projectdata.json');

  console.log(obj.items.filter(function (value) {return value.id === id;})[0].title); //Returns data ok
  var record = obj.items.filter(function (value) {return value.id === id;})[0];

  res.render('/projects/work/index', record);
  });

2 个答案:

答案 0 :(得分:0)

确保已设置模板位置。标准是将其设置为“视图”,但您可以将其设置为任何内容:

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

确保设置视图引擎(例如ejs,jade或把手...)

app.set('view engine', 'ejs');

之后,您应该能够渲染视图:

response.render("index", {record});

答案 1 :(得分:0)

解决了这个问题,我将/放到了文件的路径上。

res.render('projects/work/index', {record});