今天在写代码时出现了这样一个错误
Error: Failed to lookup view "login" in views directory "E:\JAVA\博客项目\手写博客\nodeBlog"
at Function.render (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\application.js:580:17)
at ServerResponse.render (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\response.js:1012:7)
at E:\JAVA\博客项目\手写博客\nodeBlog\index.js:54:9
at Layer.handle [as handle_request] (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\layer.js:95:5)
at next (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\layer.js:95:5)
at E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\index.js:335:12)
at next (E:\JAVA\博客项目\手写博客\nodeBlog\node_modules\express\lib\router\index.js:275:10)
原因:
在引入模板引擎时引入的不是绝对路径,我是这样写的
app.set('view engine','html')
//错误就是因为下面这个路径问题
app.set('views',`${__dirname}`)
app.engine('html',require('ejs').renderFile)
解决方法: 引入path路径
这样写:先导入path模块
const path = require('path')
在导入引擎模板的路径
app.set('views',path.join(__dirname, 'views'))