EJS报错Failed to lookup view 无法定位视图路径问题求助
Express搭配EJS找不到视图的解决方法
问题根因
从报错信息可以看出,程序当前读取的视图目录为/home/fcarreon/Desktop/Dev/noc_ops_v2/views,但实际视图文件存放在项目的src/views目录下,说明你的views路径配置没有生效。
解决步骤
- 第一步:修正config/server.js中的错误配置
你当前生效的配置使用+拼接路径,不符合path.join的传参规则,直接替换为以下代码即可:app.set('views', path.join(__dirname, '..', 'src' , 'views')); - 第二步:验证路径是否生效
在views配置行后添加日志代码,启动服务时确认输出路径和实际视图目录路径一致:console.log('当前视图目录:', app.get('views')); // 预期输出:/home/fcarreon/Desktop/Dev/noc_ops_v2/src/views - 第三步:排查配置覆盖问题
检查config/app.js以及其他启动相关文件中,是否存在其他app.set('views', xxx)的配置,如果有统一修改为正确路径,或者删除重复配置。 - 第四步:确认依赖安装
检查package.json中是否存在ejs依赖,若缺失执行npm i ejs安装即可。
内容的提问来源于stack exchange,提问作者Felipe Carreón
相关产品推荐
相关产品推荐

