首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >express.Router和app.get的区别是什么?

express.Router和app.get的区别是什么?
EN

Stack Overflow用户
提问于 2015-02-04 01:31:20
回答 5查看 90.9K关注 0票数 338

我开始使用NodeJS和Express4,我有点困惑。我一直在阅读Express网站,但不知道什么时候应该使用路由处理程序,或者什么时候应该使用express.Router

正如我所看到的,如果我想在用户点击/show时显示一个页面或其他东西,例如,我应该使用:

代码语言:javascript
复制
var express = require('express')    
var app = express()    
app.get("/show", someFunction)  

一开始,我认为这是旧的(对于Express3)。这是对的吗?或者这也是Express 4的方式?

如果这是Express4中的方法,那么express.Router用来做什么呢?

我读到了与上面几乎相同的示例,但使用的是express.Router

代码语言:javascript
复制
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)

那么,这两个示例之间的区别是什么呢?

如果我只想做一个简单的测试网站,我应该使用哪一个?

EN

回答 5

Stack Overflow用户

发布于 2017-05-23 18:26:00

代码语言:javascript
复制
app.route('/book')
  .get(function (req, res) {
    res.send('Get a random book')
  })
  .post(function (req, res) {
    res.send('Post a random book')
  })

与上面的示例一样,我们可以在路由下添加不同的HTTP请求方法。

票数 7
EN

Stack Overflow用户

发布于 2017-06-06 13:43:42

使用app.js编写路由意味着当app.js在应用程序启动时加载时,所有用户都可以访问这些路由。然而,将路由放在express.router()小应用程序中可以保护和限制它们的可访问性。

票数 3
EN

Stack Overflow用户

发布于 2017-06-29 15:24:12

总之,与app.get()相比,express.Router可以做更多的事情,比如中间件,而且您可以用express.Router()定义多一个路由器对象

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28305120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档