我正在尝试使用EJS,但每当res.render被调用时,它只是挂在那里没有响应。
这是我的app.js文件
var express = require('express');
var bodyParser = require('body-parser')
var mongoose = require('mongoose');
var app = express();
var router = require('./router/index')(app);
app.use(bodyParser.json())
app.set('view engine', 'ejs');
// Internal Server error
app.use(function(err, req, res, next) {
res.status(err.status || 500);
});
module.exports = app;
app.listen(8888);
在我的路由文件
module.exports = function (app) {
app.use('/', require('./routes/Website'));
app.use('/api/users', require('./routes/UsersRoute'));
app.use('/api/keys', require('./routes/KeysRoute'));
};
在网站文件
var express = require('express');
var router = express.Router();
// Get all Users data
router.get('/', function (req, res) {
res.render('index', { title: 'The index page!' })
});
我有一个index.eps
文件在views
文件夹和layout.eps
在布局文件夹。我做错了什么?
内部服务器错误中间件应该有条件吗??在我看来,每次调用路由时,它都会尝试从中间件发送响应。
尝试在中间件中注释出res
,并尝试调用next();
删除
解决问题// Internal Server error
app.use(function(err, req, res, next) {
res.status(err.status || 500);
});
EJS似乎在根目录下查找views文件夹而不是.js文件的目录