- 您正在设置视图引擎,而不是使用它们,所以应该是
app.set 而不是 app.use
// From:
app.use("view engine", "ejs");
// To:
app.set("view engine", "ejs");
- 请求路由应该是让客户端获取内容,所以它应该是
app.get而不是app.set
// From:
app.set("/", function(req, res) { ... }
// To:
app.get("/", function(req, res) { ... }
- ejs 中 else case 的语法错误,应该是
{ 而不是 (
// From:
<% } else ( %>n
// To:
<% } else { %>
修复了您的 app.js 中的错误
//jshint esversion:6
const express = require("express");
const date = require(__dirname + "/date.js");
const app = express();
// <!--LIST SETUP-->
const items = ["Jagger", "Vodka", "Beer"];
const workItems = [];
// <!--SETUP EJS TEMPLATE-->
app.set("view engine", "ejs");
app.use(express.urlencoded({extended: true}));
app.use(express.static("public"));
app.get("/", function(req, res) {
let day = date.getDate();
res.render("list", {listTitle: day, newListItems: items});
});
// <!--POST ITEMS ON DIFFENT LIST-->
app.post("/", function(req, res){
const item = req.body.newItem;
if (req.body.list === "Work") {
workItems.push(item);
res.redirect("/work");
} else {
items.push(item);
res.redirect("/");
}
});
app.get("/work", function(req, res){
res.render("list", {listTitle: "Work List", newListItems: workItems});
});
app.get("/about", function(req, res){
res.render("about");
});
app.post("/work", function(req, res){
const item = req.body.newItem;
workItems.push(item);
res.redirect("/work");
})
app.listen(3000, function() {
console.log("Serrer started on port 3000");
});