我正在快递中做一个教程,我需要帮助理解这段代码:
在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);
它导出了一个函数,但为什么应用程序在这里用作参数?
答案 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()
有两个用例