express-app.get有什么作用?

时间:2017-03-08 09:27:26

标签: express routes

我正在快递中做一个教程,我需要帮助理解这段代码:

在routes / index文件夹上的

是这段代码:

module.exports = (app) => {
  app.get('/api', (req, res) => res.status(200).send({
    message: 'Welcome to the Todos API!',
  }));

  app.post('/api/todos', todosController.create);
};

并且在app文件中使用的是这段代码,我不明白:

require('./server/routes')(app);

它导出了一个函数,但为什么应用程序在这里用作参数?

2 个答案:

答案 0 :(得分:1)

Express.js支持以下与HTTP方法对应的路由方法:get,post,put,head,delete e.t.c.因此,我们可以将express实例作为函数的参数传递给我们处理路由。大多数教程中的express实例创建如下:

var express = require('express');
// And then we instantiate express
var app = express();
然后,我们可以通过将express方法作为函数的参数提供,在单独的文件中访问它们。

module.exports = (app) =>

在这里它可以被赋予任何名称,但是调用它可以让读者更加清楚。希望这会有所帮助。

答案 1 :(得分:1)

app对象通常表示Express应用程序。 app.get(path,callback)使用指定的回调函数将HTTP GET请求路由到指定的路径。

如果其app.get('name'),其中'name'是应用设置中的字符串之一,则返回name app setting的值。

app.get()

有两个用例