什么是'require('./app/routes.js')(app)'在这个节点服务器

What does 'require('./app/routes.js')(app);' mean in this node server example?

本文关键字:app 节点 服务器 什么 routes js require      更新时间:2023-09-26

Server.js

    // set up ======================================================================
    var express = require('express');
    var app = express();                        // create our app w/ express
    var mongoose = require('mongoose');                 // mongoose for mongodb
    var port = process.env.PORT || 8080;                // set the port
    var database = require('./config/database');            // load the database config
    var morgan = require('morgan');
    var bodyParser = require('body-parser');
    var methodOverride = require('method-override');
    // configuration ===============================================================
    mongoose.connect(database.localUrl);    // Connect to local MongoDB instance. A remoteUrl is also available (modulus.io)
    app.use(express.static('./public'));        // set the static files location /public/img will be /img for users
    app.use(morgan('dev')); // log every request to the console
    app.use(bodyParser.urlencoded({'extended': 'true'})); // parse application/x-www-form-urlencoded
    app.use(bodyParser.json()); // parse application/json
    app.use(bodyParser.json({type: 'application/vnd.api+json'})); // parse application/vnd.api+json as json
    app.use(methodOverride('X-HTTP-Method-Override')); // override with the X-HTTP-Method-Override header in the request

    // routes ======================================================================
    require('./app/routes.js')(app);
    // listen (start app with node server.js) ======================================
    app.listen(port);
    console.log("App listening on port " + port);

我理解大部分代码。但我从未见过:

require('./app/routes.js'((app(

我知道我们正在加载路线,但为什么我们要把(应用程序(当作函数参数来传递?为什么这是必要的,如果我删除它会发生什么?

这只是意味着require('./app/routes.js')返回一个函数。然后,您可以用另一组paranostics调用此函数。

基本上与相同

var func = require('./app/routes.js');
func(app);