我正在尝试使用MEAN框架。我使用了他们的脚手架here。但是,当我们启动server.js [node server.js
]文件时,我对控制流的发生方式感到困惑。
添加某些文件的摘要,整个代码为here
./ server.js
var app = require('./config/lib/app');
var server = app.start();
./配置/ LIB / app.js
module.exports.start = function start(callback) {
var _this = this;
_this.init(function (app, db, config) {
// Start the app by listening on <port> at <host>
app.listen(config.port, config.host, function () {
// Create server URL
var server = (process.env.NODE_ENV === 'secure' ? 'https://' : 'http://') + config.host + ':' + config.port;
// Logging initialization
console.log('--');
.....
if (callback) callback(app, db, config);
});
});
};
例如,当我只调用_this.init(function (app, db, config){
时,app.start();
段中的参数来自哪里 -
答案 0 :(得分:0)
function (app, db, config){...}
中的_this.init(function (app, db, config){...}
只是函数声明,没有执行尚未,执行在此完成(第26行){ {1}}传递的config参数是在此处if (callback) callback(app, db, config);
声明的全局变量(第6行),var config = require('../config')
参数在此处声明为app
(第25行)并且var app = express.init(db);
参数是来自db
调用的结果(数据库实例)(第20行)。