Express配置EJS视图引擎报错No default engine was specified求助
问题排查与解决方案
报错根因
Express模板引擎的配置键拼写错误,你写的view-engine(带横杠)是无效配置项,Express识别不到你指定的默认模板引擎,渲染list模板时找不到对应解析引擎,就抛出了该错误。
具体修复方案
- 修改app.js中的模板引擎配置
将原错误配置行:
app.set("view-engine", "ejs")
替换为正确配置:
app.set("view engine", "ejs")
如果想要进一步避免扩展名识别问题,可以额外补充一行引擎映射配置:
app.engine("ejs", require("ejs").renderFile)
- 确认项目目录结构符合要求
list.ejs文件必须放在项目根目录下名为views的文件夹内,目录结构参考:
todo-list-app-ver_1/ ├── app.js ├── node_modules/ ├── package.json └── views/ └── list.ejs
- 检查ejs依赖是否安装
如果修改后运行提示找不到ejs模块,执行以下命令安装依赖即可:
npm install ejs
- 重启服务
所有修改保存后,重新运行nodemon app.js,访问http://localhost:3000就能看到预期输出。
内容的提问来源于stack exchange,提问作者Nasyx Nadeem
相关产品推荐
相关产品推荐

