使用 express.static 后未加载 EJS 文件

EJS file not loading after using express.static

我的 frontend 文件夹中有一些纯 HTML/CSS 文件,views 文件夹中有 ejs 文件,其他所有 ejs 文件都可以完美加载,但 index.ejs 文件 我不知道我做错了什么

这是我的server.js:(这是我的服务器文件的基本版本)

const app = express();

app.set('views', __dirname + '/views');
app.set("view engine", "ejs");
app.use(express.static(__dirname + "/frontend"));

app.get("/", (req, res) => {
  res.render("index");
});

//The below file loads perfectly. (requireAuth is a authentication middleware)
app.get("/create", requireAuth, (req, res) => {
  res.render("create");
});

而且文件 index.ejs 和 create.ejs 都非常相似

如果有人需要任何额外的细节,他们可以在下面发表评论。

您已经为 /(根路径)定义了静态中间件,索引页也为根路径定义了,但是由于静态中间件定义较早,express 会尝试查找并 return静态文件而不是呈现索引页面。

这里有两个变体:

  1. 为一些不同于根的路径定义静态中间件:
    app.use("/public", express.static(__dirname + "/frontend"));
  2. 不使用索引页的根路径:app.get("/index", (req, res)...