我在 ejs 3 模板中有一个 node.js 应用程序渲染。假设 - 有一个模板 course.ejs,它曾经在 node.js 中运行良好。
res.render('course', locals);
但是,今天当我尝试更改内容时,比如说-course.ejs,它没有生效,node.js应用程序没有错误,传递给模板的数据也可以。
我什至复制粘贴了这个模板的内容,并使用不同的名称制作了一个新模板 - course1.ejs。并将我的代码更改为
res.render('course1', locals);
然后当应用程序再次运行时,它会弹出一个错误说
错误:无法查找视图“course1”模板。
node.js 和模板中的代码都没有问题,应该可以按照上面的方式工作。为什么现在不行了。我有我的 ejs 版本 0.8.3,而 express 在 3.1.0 和 node.js 在 0.10.0
这是我的应用程序配置。
app.configure(function(){
app.engine('.html', require('ejs').__express);
app.set('view engine', 'html');
app.set('views',__dirname+'/views');
app.use(express.favicon(__dirname + '/public/favicon.ico'));
app.use(express.compress({
filter: function (req, res) {
return /json|text|javascript|css/.test(res.getHeader('Content-Type'));
},
level: 9
}));
app.use(express.bodyParser({uploadDir:__dirname+'/public/uploads',keepExtensions: true,limit: '50mb'}));
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({
cookie: { maxAge: 24 * 60 * 60 * 1000 }
,store: sessionStore
,secret: config.sessionSecret
,key: 'express.sid'
,clear_interval: 3600
}));
app.use(express.csrf());
app.use(function(req, res, next){
res.locals.token = req.session._csrf;
next();
});
app.use(express.static(__dirname+'/public'));
}
我的静态文件在公共文件夹中,所有模板都在视图文件夹中。
我想知道以前有没有人遇到过这种问题