有什么区别:
var express = new express();
var app = new express();
app.get("/", function() {
.....
})
和
var express = new express();
var router= express.Router();
router.get("/", function() {
.....
})
答案 0 :(得分:7)
app.get
可用于在顶层为您的应用程序创建路线。
使用express.Router类创建模块化,可安装的路由处理程序。 Router实例是一个完整的中间件和路由系统;因此,它通常被称为“迷你app”。
需要将路由器安装到应用程序:
const router = express.Router();
router.get("/", (res, req) => res.end());
router.post("/", (res, req) => res.end());
app.use("/empty", router);
这使您可以更轻松地将多个路由的功能封装到应用程序中,该应用程序将在特定路径下进行命名空间。
答案 1 :(得分:4)
在app.js中调用express()时,会返回一个app对象。将app对象视为Express应用程序。
当express.Router()被调用时,一个稍微不同的"迷你应用程序"是 回。 "迷你应用背后的想法"是不同的路线 您的应用可能会变得非常复杂,并且您可以从移动中受益 将该逻辑转换为单独的文件。
查看此SO Thread了解详情。