验证我对Express Routes的理解

时间:2017-03-09 18:16:30

标签: node.js express

实际上,在我提出这个问题之前,当我做任何像

这样的事情时

const app = express()

app是整个快递模块的一个实例吗?这意味着,当我执行app.route时,路由是Express方法权限还是NodeJS方法,因为Node也有.route?无论如何......我只想仔细检查一下。

app.route('/games')
    .post(postGame)
    .get(getGames);

app.route('/games/:id');
    .get(getGame)
    .delete(deleteGame);

这是否与......相同......如果不是......为什么选择一个而不是另一个?

app.get('/games');
app.post('/games');
app.get('/games/:id');
app.delete('games/:id');

抱歉,我使用Express已经有一段时间了,但是找不到任何有关此特定问题的信息。谢谢!

1 个答案:

答案 0 :(得分:1)

  

app是整个快递模块的一个实例吗?

是的,通过调用Express模块​​导出的顶级T& operator *() { return (*array)[currentPosition]; } 函数来创建app对象。这设置了默认的http标头,渲染选项....并包装http节点模块:

express()

您可以在source code here(真正可读)

中看到更多内容
  

路由是Express方法权限还是NodeJS方法

路由是一个快速对象,nodeJs不提供像express这样的路由系统。

对于你的例子,是的,它完全相同。它们将处理程序函数存储在相同的app.listen = function listen() { var server = http.createServer(this); return server.listen.apply(server, arguments); };