我是NodeJS的新手,这里是我的路线/ recom.js,现在正在做很多逻辑工作。我稍后会将逻辑移到其他地方。但现在我需要先解决错误。
exports.scrape = function(req, res) {
var APIURI = 'https://www.kimonolabs.com/api/abbxqyg4?apikey=6IrCGNcorodTBSfNawS6sZkHw3LeZVIN';
var receivedJason;
res.type('text/plain');
request({
url: APIURI,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log('API Retrieved Successfully!');
res.json(body);
receivedJason = JSON.stringify(body);
var node = db.createNode({hello: 'world'}); // instantaneous, but...
node.save(function (err, node) { // ...this is what actually persists.
if (err) {
console.error('Error saving new node to database:', err);
} else {
console.log('Node saved to database with id:', node.id);
}
});
}
});
};
这是我的app.js
var express = require('express');
var recom = require('./server/routes/recom.js');
var app = express();
app.get('/', recom.scrape);
app.listen(process.env.PORT || 2019);
我收到以下错误:
Route.get()需要回调函数但得到[object Undefined]
任何帮助将不胜感激。
答案 0 :(得分:0)
错误似乎在导出中。在routes/recom.js
中使用:
module.exports.scrape = function(req, res) { //...
获得[object Undefined]
的原因是exports
与module.exports
不是同一个对象,因此查找的项目不存在。
此外,在app.js中,您可能需要使用以下之一:
var recom = require('routes/recom.js');
// or:
var recom = require('server/routes/recom.js');
取决于你的完整结构。