gpt4 book ai didi

node.js - 无法在 node.js ejs 模板中查找 View ,而模板只是刚刚重命名

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:46 27 4
gpt4 key购买 nike

我有一个在 ejs 3 模板中呈现的 node.js 应用程序。假设 - 有一个模板 course.ejs,它曾经在 node.js 中运行良好。

res.render('course', locals);

然而,今天当我尝试更改内容时,比方说 - course.ejs,它没有生效,node.js 应用程序没有错误并且传递给模板的数据是正确的。

我什至复制粘贴了这个模板的内容,并制作了一个不同名称的新模板 - course1.ejs。并将我的代码更改为

res.render('course1', locals);

然后当应用程序再次运行时,它会弹出一个错误提示

错误:无法查找 View “course1”模板。

node.js和template中的代码都没有问题,按上面的方式应该就可以了。为什么现在不行了。我的 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'));

}

我的静态文件在public文件夹,所有模板都在view文件夹

不知道有没有人遇到过这种问题

最佳答案

如果您的模板具有 .ejs 扩展名,我认为此配置无法工作:

app.engine('.html', require('ejs').__express);
app.set('view engine', 'html');

使用该配置,当您调用 res.render('TEMPLATENAME', ...) 时,Express 将查找 TEMPLATENAME.html,而不是 TEMPLATENAME .ejs。为此,您需要:

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

这就是解决的 course1 部分:Express 正在寻找它找不到的 course1.html,因此它会生成您遇到的错误(无法查找 View ...)。

但是,我看不到呈现 course.ejs 是如何工作的。也许您有另一条路线正在处理您正在测试的请求?或者您在 View 文件夹中有一个 course.html(除了 course.ejs)?

关于node.js - 无法在 node.js ejs 模板中查找 View ,而模板只是刚刚重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16103348/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com