我从NodeJS和Express 4开始,我有些困惑。我正在阅读Express网站,但是看不到何时使用路由处理程序或何时使用express.Router
。
如我所见,例如,如果我想在用户点击时显示页面或其他内容,/show
则应使用:
var express = require('express')
var app = express()
app.get("/show", someFunction)
一开始,我认为这很旧(对于Express 3)。是这样吗,还是Express 4也是如此?
如果这是在Express 4中实现的方式,那么它的express.Router
用途是什么?
我读了几乎与上面相同的示例,但是使用了express.Router
:
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)
那么,两个示例之间有什么区别?
如果我只想创建一个简单的测试网站,应该使用哪一个?
app.get(..)
语法只是使使用起来express.router
更加方便的捷径。如果您只是刚入门,请不要担心路由器的细节。
app's
自己的路由方法(例如)app.get()
足以满足需要,请使用它们。的Router
是就在那里为方便起见,以帮助您组织了多模块应用。从引导:“ 的express.Router
类可用于创建模块化安装路由执行甲。Router
实例是一个完整的中间件和路由系统;为此原因,它通常被称为一个‘小应用程序’。 ”
Router
本身并不.listen()
要求。这是非常有用的应用程序分成多个模块-创建一个Router
每个了app
可以require()
和.use()
中间件。