路由器不能用于相同的模块。 没有错误

我正在尝试使用快速路由器为一个简单的项目,这里是我的主要app.js文件:

"use strict"; const express = require("express"); const mongodb = require("mongodb"); const path = require("path"); const index = require("./routes/index"); const error = require(__dirname + "/routes/error"); const app = express(); app.set("view engine", "ejs"); app.use("/",index); app.use("/new",error); app.listen(4000); 

这是我的索引文件,这是导出和渲染没有问题。

 const express = require("express"); const router = express.Router(); router.get("/",function(req,res){ res.render("index"); }); module.exports = router; 

这是我的错误文件,当你发送一个获取请求到“/新”,但它说“不能GET /新”,没有其他错误时,是遵循完全相同的逻辑。 请告诉我这里发生了什么事情。

 const express = require("express"); const router = express.Router(); router.get("/new",function(req,res){ res.render("error"); }); module.exports = router; 

注意:我有一个index.ejs和error.ejs文件

看起来您在路由url中缺less“/新”。

你要走了

 app.use("/new",error); 

这意味着到这个路由器的所有路由将以“/ new”开头。

然后在你的路由器中,你将路由定义为“/ new”

 router.get("/new",function(req,res){ res.render("error"); }); 

要访问此路线,您将需要导航到“/新/新”

您是否使用以下url尝试了GET路线?

 http://localhost:4000/new/new 

我当然认为你已经保存了你的项目,并手动或自动重新启动app.js(nodemon等)。