Express使用EJS模板时出现Failed to lookup view "/listings"错误求助
问题原因
res.render()传入的路径开头加了/,会被Express识别为绝对路径解析,无法匹配你配置的views目录下的文件- 路径与实际文件结构不匹配:你当前的ejs文件存放在
views/listings/目录下,渲染时需要补全子目录层级
解决方案
- 首先确认
views/listings/目录下的ejs文件名:- 如果文件名为
listings.ejs,将路由中的渲染代码修改为:app.get('/listings', (req, res) => { res.render('listings/listings', { listings }); }) - 如果文件名为
index.ejs(你贴出的ejs代码标注的文件名),将路由中的渲染代码修改为:app.get('/listings', (req, res) => { res.render('listings/index', { listings }); })
- 如果文件名为
- 如果你希望直接用
res.render('listings')调用,将listings.ejs直接移动到views根目录即可。
你之前调整app.set的顺序不影响渲染逻辑,无需修改这部分配置。
内容的提问来源于stack exchange,提问作者Manendar Verma
相关产品推荐
相关产品推荐

