【发布时间】:2021-12-10 02:10:49
【问题描述】:
我是后端 Web 开发的新手,我正在使用 nodejs 和 express.js 进行项目练习 下面是我的 app.js 文件的代码
const express = require("express")
const bp = require("body-parser")
const app = express()
app.set("view-engine", "ejs")
app.get("/", (req, res) => {
const date = new Date()
const curDay = date.getDay()
let day = ""
if (curDay === 6 || curDay === 0){
day = "weekend"
} else{
day = "weekday"
}
res.render("list", {kindOfDay: day})
})
app.listen(3000, () => {
console.log("Listening on port 3000")
})
下面是我的 list.ejs 文件的代码
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="UTF-8">
<title>To-Do List App</title>
</head>
<body>
<h1>It's a <%= kindOfDay %>!</h1>
</body>
</html>
当我尝试使用 nodemon app.js 命令运行应用程序时,它会向我抛出一个错误提示
错误:未指定默认引擎且未提供扩展名。 在新视图 (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/view.js:61:11) 在 Function.render (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/application.js:570:12) 在 ServerResponse.render (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/response.js:1012:7) 在 /storage/emulated/0/todo-list-app-ver_1/app.js:15:7 在 Layer.handle [as handle_request] (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/router/layer.js:95:5) 在下一个(/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/router/route.js:137:13) 在 Route.dispatch (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/router/route.js:112:3) 在 Layer.handle [as handle_request] (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/router/layer.js:95:5) 在/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/router/index.js:281:22 在 Function.process_params (/storage/emulated/0/todo-list-app-ver_1/node_modules/express/lib/router/index.js:335:12)
预期的输出应该是
今天是工作日
或
今天是周末
我不知道是什么导致了错误。我的节点版本是 16.13.0 我的快速版本是 4.17.1
【问题讨论】:
-
view-engine应该是view engine也加上app.engine('html', require('ejs').renderFile); -
我添加了,但现在它显示模块“ejs”未找到然后我再次安装“ejs”仍然显示相同的错误
-
我删除了整个项目????现在从头开始,做了我以前做的同样的过程,现在它工作了,我不知道发生了什么事情
-
这些答案解决了你的问题吗?
标签: javascript node.js express ejs nodejs-server