我正在开发nodejs
记录器应用程序,问题是当我想检索数据以在表中显示它们时,会发生此错误:
<%include('header'); -%> ^ 语法错误:意外的令牌<< / p>
我的代码如下:
错误控制器:
const controller = require('app/http/controllers/controller');
const errors = require('resource/views/error.ejs');
var error = require('app/models/error');
var logs ;
class errorController extends controller {
show(req,res){
error.find({})
.then(res.render(errors, { results : results }))
}
}
module.exports = new errorController();
error.ejs
<% include('header'); %>
<div class="list-group">
<% results.forEach((results) => { %>
<a href="/geterrors %>" class="list-group-item">
<h4 class="list-group-item-heading"><%= results.cid %></h4>
<p class="list-group-item-text"><%= results.stacktrace %></p>
</a>
<% }) %>
</div>
<% include('footer'); %>
我的controller
有问题吗?或ejs
语法?
答案 0 :(得分:3)
Node.js无法require
一个ejs
文件。
将error.ejs
放在./views
目录下,并按如下所示调用res.render
:
res.render('error.ejs', {results: results})
有关res.render
,请参见docs。
答案 1 :(得分:1)
我认为您以错误的方式编写代码应该类似于
class errorController extends controller {
show(req,res){
error.find({})
.then(()=>res.render('error.ejs', {results: results}))
}
}