我是 Node Js 的初学者。当我尝试访问 index.ejs 文件时,出现以下错误错误:

问题描述 投票:0回答:1
import express from "express"
const app=express()
const port =3000;


app.get("/", (req, res)=>{
    res.render("index.ejs", {Datatype:"a weekday", 
    advice: "it's a weekday, so work hard",
});
})


app.listen(port, ()=>{
    console.log(`Server is running on ${port}`)
})

我收到错误:

Error: Failed to lookup view "index.ejs" in views directory "D:\Udemy\Node js\EJS\views"
    at Function.render (D:\Udemy\Node js\EJS\node_modules\express\lib\application.js:597:17)
    at ServerResponse.render (D:\Udemy\Node js\EJS\node_modules\express\lib\response.js:1039:7)
    at file:///D:/Udemy/Node%20js/EJS/index.js:10:9
    at Layer.handle [as handle_request] (D:\Udemy\Node js\EJS\node_modules\express\lib\router\layer.js:95:5)
    at next (D:\Udemy\Node js\EJS\node_modules\express\lib\router\route.js:144:13)
    at Route.dispatch (D:\Udemy\Node js\EJS\node_modules\express\lib\router\route.js:114:3)
    at Layer.handle [as handle_request] (D:\Udemy\Node js\EJS\node_modules\express\lib\router\layer.js:95:5)
    at D:\Udemy\Node js\EJS\node_modules\express\lib\router\index.js:284:15
    at Function.process_params (D:\Udemy\Node js\EJS\node_modules\express\lib\router\index.js:346:12)
    at next (D:\Udemy\Node js\EJS\node_modules\express\lib\router\index.js:280:10)

我想要渲染 index.ejs 文件,但它向我显示了错误。

javascript node.js ejs
1个回答
1
投票

我相信这是另一个 Stackoverflow 问题的重复: 无法在视图目录中查找视图“index.ejs”

“在请求任何视图文件之前,您需要设置视图目录和视图引擎。

因此,您需要在 app.get 之前添加以下行

app.set('views', './views');
app.set('view engine', 'ejs');

你的

res.render('index.ejs'); 
应该改为,

res.render('index');

希望这有帮助!”

  • 大卫R
© www.soinside.com 2019 - 2024. All rights reserved.