什么是'require('./app/routes.js')(app)'在这个节点服务器
What does 'require('./app/routes.js')(app);' mean in this node server example?
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);
相关文章:
- 节点导出返回一个空对象
- 可以前端maven插件使用节点,npm已经安装
- 在jstree中,如何将指定的节点集中到大型树上
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- 如何处理node.js节点mongodb中的连接和查询队列
- 为什么我不能从节点和 express.js 中的 app.get 函数中提取回调
- app.post 和 app.use 在节点表达中有什么区别
- Heroku,节点npm ERR!argv”/app/.heroku/note/bin/node”"/app/.
- 带有查询参数的节点js-app.get方法-内部服务器错误
- 使用app.Get(节点)获取并渲染一些文件
- 节点express:模拟app.get中的授权函数
- 什么是'require('./app/routes.js')(app)'在这个节点服务器
- 节点app.js返回Error: connect ECONNREFUSED 127.0.0.1:27017
- 无法运行节点app.js文件
- 节点.js将javascript连接到app.js
- 节点.js模块 - 将所需对象方法附加到主 App 对象