NodeJS : app.get() 不像我所说的那样运行

NodeJS : app.get() does not operate as I exected

本文关键字:运行 app get NodeJS      更新时间:2023-09-26

我是NodeJS的新手,这是我的路线/推荐.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);
      }
    });
   }
  });          
};

这是我的应用程序.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() 需要回调函数,但得到了一个 [对象未定义]

任何帮助将不胜感激。

错误似乎在导出中。在routes/recom.js使用中:

module.exports.scrape = function(req, res) { //...

你得到[object Undefined]的原因是exportsmodule.exports不是同一个对象,因此所查找的项不存在。

此外,在应用程序中.js您可能需要使用以下之一:

var recom = require('routes/recom.js');
// or:
var recom = require('server/routes/recom.js');

取决于您的完整结构。