【问题标题】:Cannot read property 'handle' of undefined. Parse.com migration无法读取未定义的属性“句柄”。 Parse.com 迁移
【发布时间】:2016-01-29 14:52:22
【问题描述】:

parse.com 宣布他们将在明年关闭,这是一场噩梦。现在我正在尝试使用MongoDB 测试他们建议的解决方案。问题是,我遇到了javascript 错误。我在parse-servir-github 得到了 git ,添加我的应用设置并运行node index.js。现在,我在尝试访问本地服务器时遇到了错误:

parse-server-example 在端口 1337 上运行。 /Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/application.js:120 this._router.handle(req, res, function(err) { ^

TypeError:无法读取未定义的属性“句柄” 在 Function.app.handle (/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/application.js:120:15) 在 Server.app (/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/express.js:28:9) 在 emitTwo (events.js:87:13) 在 Server.emit (events.js:172:7) 在 HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:528:12) 在 HTTPParser.parserOnHeadersComplete (_http_common.js:88:23)

这是application.js中的代码。

app.handle = function(req, res, done) {
  var env = this.get('env');

  this._router.handle(req, res, function(err) {
    if (done) {
      return done(err);
    }

    // unhandled error
    if (err) {
      // default to 500
      if (res.statusCode < 400) res.statusCode = 500;
      debug('default %s', res.statusCode);

      // respect err.status
      if (err.status) res.statusCode = err.status;

      // production gets a basic error message
      var msg = 'production' == env
        ? http.STATUS_CODES[res.statusCode]
        : err.stack || err.toString();
      msg = escapeHtml(msg);

      // log to stderr in a non-test env
      if ('test' != env) console.error(err.stack || err.toString());
      if (res.headersSent) return req.socket.destroy();
      res.setHeader('Content-Type', 'text/html');
      res.setHeader('Content-Length', Buffer.byteLength(msg));
      if ('HEAD' == req.method) return res.end();
      res.end(msg);
      return;
    }

    // 404
    debug('default 404');
    res.statusCode = 404;
    res.setHeader('Content-Type', 'text/html');
    if ('HEAD' == req.method) return res.end();
    res.end('Cannot ' + escapeHtml(req.method) + ' ' + escapeHtml(req.originalUrl) + '\n');
  });
};

无论如何,我是 iOS developer,没有使用 node.js 的经验,我只是想按照 parse.com 教程并设置我的数据库以在本地使用 mongoDBparse server

非常感谢任何帮助。

【问题讨论】:

    标签: javascript node.js mongodb parse-platform parse-server


    【解决方案1】:

    在“var env = this.get('env');”之后,请添加“console.dir(this._router);”记录 this._router 变量的内容。我猜它是未定义的,这会导致错误。

    结果应该出现在你的 node.js 命令提示符中。

    【讨论】:

    猜你喜欢
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-05
    • 2023-03-27
    • 1970-01-01
    • 2021-07-06
    • 2018-02-12
    相关资源
    最近更新 更多