【问题标题】:How does control flow from app.start() in MeanJS frameworkMeanJS 框架中 app.start() 的控制流程如何
【发布时间】:2018-10-04 06:51:03
【问题描述】:

我正在尝试使用 MEAN 框架。我使用了他们可用的脚手架here。但是我对从我们启动 server.js [node server.js] 文件开始控制流是如何发生的感到困惑。

添加一些文件的sn-ps,整个代码为here

./server.js

var app = require('./config/lib/app');
var server = app.start();

./config/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);
    });
  });
};

例如,当我只调用app.start(); 时,_this.init(function (app, db, config){ 段中的参数来自哪里-

【问题讨论】:

    标签: node.js express mean-stack meanjs


    【解决方案1】:

    _this.init(function (app, db, config){...} 中的function (app, db, config){...} 只是函数声明,没有执行任何操作尚未,执行在此处完成(第 26 行)if (callback) callback(app, db, config); 其中传递的配置参数是这里声明的global变量var config = require('../config')(第6行),app参数在这里声明var app = express.init(db);(第25行)和db参数是结果(数据库实例)来自mongooseService.connect 调用(第 20 行)。

    【讨论】:

    • 但是在调用start函数时,回调是空的。
    • 另外,_this.init 是构造函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 2016-05-03
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多