为什么 express 无法在 views 文件夹中查找 ejs 文件?
Why is express failing to lookup ejs file in views folder?
开始学习 NodeJS
和 Express
。
// express framework
var express = require("express");
var app = express();
app.get("/", (req,res) =>
{
res.render("home.ejs");
})
//port listening
app.listen(3000, ()=>
[
console.log("Server listening at 3000")
])
views 文件夹与代码位于同一文件夹中,并且包含文件 home.ejs
。
我收到以下错误
Error: Failed to lookup view "home.ejs" in views directory "/Users/username/Desktop/Programming/JavaScript/views"
at Function.render (/Users/username/node_modules/express/lib/application.js:580:17)
at ServerResponse.render (/Users/username/node_modules/express/lib/response.js:1012:7)
at /Users/username/Desktop/Programming/JavaScript/practice/app.js:8:9
at Layer.handle [as handle_request] (/Users/username/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/username/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/username/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/username/node_modules/express/lib/router/layer.js:95:5)
at /Users/username/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/username/node_modules/express/lib/router/index.js:335:12)
at next (/Users/username/node_modules/express/lib/router/index.js:275:10)
我明白了。有人建议添加。
app.set('view engine', 'ejs')
这本身不起作用,但后来我环顾四周,发现我还需要添加以下行。
app.set('views', path.join(__dirname, 'views'));
我正在学习的教程没有任何这段代码,所以我有点困惑。
感谢您的帮助。
开始学习 NodeJS
和 Express
。
// express framework
var express = require("express");
var app = express();
app.get("/", (req,res) =>
{
res.render("home.ejs");
})
//port listening
app.listen(3000, ()=>
[
console.log("Server listening at 3000")
])
views 文件夹与代码位于同一文件夹中,并且包含文件 home.ejs
。
我收到以下错误
Error: Failed to lookup view "home.ejs" in views directory "/Users/username/Desktop/Programming/JavaScript/views"
at Function.render (/Users/username/node_modules/express/lib/application.js:580:17)
at ServerResponse.render (/Users/username/node_modules/express/lib/response.js:1012:7)
at /Users/username/Desktop/Programming/JavaScript/practice/app.js:8:9
at Layer.handle [as handle_request] (/Users/username/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/username/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/username/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/username/node_modules/express/lib/router/layer.js:95:5)
at /Users/username/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/username/node_modules/express/lib/router/index.js:335:12)
at next (/Users/username/node_modules/express/lib/router/index.js:275:10)
我明白了。有人建议添加。
app.set('view engine', 'ejs')
这本身不起作用,但后来我环顾四周,发现我还需要添加以下行。
app.set('views', path.join(__dirname, 'views'));
我正在学习的教程没有任何这段代码,所以我有点困惑。
感谢您的帮助。