无法读取未定义的 属性 'handle'。 Parse.com 迁移
Cannot read property 'handle' of undefined. Parse.com migration
parse.com
宣布他们明年将关闭,真是一场噩梦。现在我正在尝试使用 MongoDB
测试他们建议的解决方案。问题是,我遇到了 javascript
错误。我在 parse-servir-github 中得到了 git
,添加了我的应用程序设置和 运行 node index.js
。现在,我在尝试访问本地服务器时遇到错误:
parse-server-example running on port 1337.
/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/application.js:120
this._router.handle(req, res, function(err) {
^
TypeError: Cannot read property 'handle' of undefined
at Function.app.handle (/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/application.js:120:15)
at Server.app (/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/express.js:28:9)
at emitTwo (events.js:87:13)
at Server.emit (events.js:172:7)
at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:528:12)
at 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
教程设置我的数据库以使用 mongoDB
和 parse server
本地。
非常感谢任何帮助。
在"var env = this.get('env');"之后,请添加"console.dir(this._router);"来记录this._router变量的内容。我猜它是未定义的,这会导致错误。
结果应该出现在您的 node.js 命令提示符中。
parse.com
宣布他们明年将关闭,真是一场噩梦。现在我正在尝试使用 MongoDB
测试他们建议的解决方案。问题是,我遇到了 javascript
错误。我在 parse-servir-github 中得到了 git
,添加了我的应用程序设置和 运行 node index.js
。现在,我在尝试访问本地服务器时遇到错误:
parse-server-example running on port 1337. /Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/application.js:120 this._router.handle(req, res, function(err) { ^
TypeError: Cannot read property 'handle' of undefined at Function.app.handle (/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/application.js:120:15) at Server.app (/Users/ferrojr/DeveloperTools/parse-server/node_modules/express/lib/express.js:28:9) at emitTwo (events.js:87:13) at Server.emit (events.js:172:7) at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:528:12) at 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
教程设置我的数据库以使用 mongoDB
和 parse server
本地。
非常感谢任何帮助。
在"var env = this.get('env');"之后,请添加"console.dir(this._router);"来记录this._router变量的内容。我猜它是未定义的,这会导致错误。
结果应该出现在您的 node.js 命令提示符中。