app.get()或router.get() – ExpressJs之间的区别
有什么区别:
var express = new express(); var app = new express(); app.get("/", function() { ..... })
和:
var express = new express(); var router= express.Router(); router.get("/", function() { ..... })
app.get
可以用来为顶层的应用程序创build路由。
从有关express.Router
的文档
使用express.Router类来创build模块化,可挂载的路由处理程序。 路由器实例是一个完整的中间件和路由系统, 为此,它通常被称为“迷你应用程序”。
路由器需要安装到一个应用程序:
const router = express.Router(); router.get("/", (res, req) => res.end()); router.post("/", (res, req) => res.end()); app.use("/empty", router);
这使您可以更轻松地将几个路由的function封装到一个应用程序中,该应用程序将在特定路线下命名空间。
当在app.js中调用express()时,返回一个应用程序对象。 将一个应用程序对象想象成一个Express应用程序。
当express.Router()被调用时,会返回一个稍微不同的“小应用程序”。 “迷你应用程序”背后的想法是,你的应用程序中的不同路线可能会变得相当复杂,你可以将该逻辑移到一个单独的文件中。
查看此SO主题的细节。