Javascript 无法读取属性';发送';未定义的

Javascript 无法读取属性';发送';未定义的,javascript,node.js,express,Javascript,Node.js,Express,我试图从外部脚本向路由器发送数据,它返回错误TypeError:cannotread未定义的属性'send' 这是密码 app.js var Cake = require('./modules/cake'); router.get('/cakes', function(req, res) { Cake.getCake(); }) module.exports = { getCake: function (req, res) { request({ url: "ht

我试图从外部脚本向路由器发送数据,它返回错误
TypeError:cannotread未定义的属性'send'

这是密码

app.js

var Cake = require('./modules/cake');

router.get('/cakes', function(req, res) {
  Cake.getCake();
})
module.exports = {
  getCake: function (req, res) {
    request({
      url: "http://get.cakes/json",
      json: true
    }, function (error, response, body) {
      if (!error && response.statusCode == 200) {
        res.send(body);
      }
    });
  }
};
cake.js

var Cake = require('./modules/cake');

router.get('/cakes', function(req, res) {
  Cake.getCake();
})
module.exports = {
  getCake: function (req, res) {
    request({
      url: "http://get.cakes/json",
      json: true
    }, function (error, response, body) {
      if (!error && response.statusCode == 200) {
        res.send(body);
      }
    });
  }
};

注意
http://get.cake/
不是一个真正的网站。这与问题无关。

您没有将
req
res
传递到
getCake

router.get('/cakes', function(req, res) {
  Cake.getCake(); // <-- you're passing nothing here so `res` is undefined within `getCake` and so you're calling `undefined.send()`
})

所以我应该在
getCake:function()
中添加req,res?不确定您的意思,您已经这样做了
getCake
定义为
getCake:function(req,res){…}
忽略最后一条注释,谢谢你,它成功了!冷却15分钟后,我将接受您的回答。:)