控制如何从MeanJS框架中的app.start()流出

时间:2018-04-24 05:59:45

标签: node.js express mean-stack meanjs

我正在尝试使用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();段中的参数来自哪里 -

1 个答案:

答案 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行)。