node.js

时间:2015-10-07 04:32:37

标签: javascript node.js

我有以下我的自定义模块成功导出。

module.exports = function(callback) {

    var request = require("request")
    var url = "http://sheetsu.com/apis/94dc0db4"

    request({
        url: url,
        json: true
    }, function (error, response, body) {

        if (!error && response.statusCode === 200) {

            callback(body)

        }
    })

现在,如果我尝试更改导出方式如下,我会收到404错误。

var data = function(callback) {

    var request = require("request")
    var url = "http://sheetsu.com/apis/94dc0db4"

    request({
        url: url,
        json: true
    }, function (error, response, body) {

        if (!error && response.statusCode === 200) {

            callback(body)

        }
    })

}

module.exports = data;

我做错了什么?

更新

这是呈现接收数据的路径index.js。

var data = require('../lib/data.js');

data(function(data) {
    router.get('/', function(req, res, next) {
      res.render('index', { 
        title: 'Express', 
        data: data
      });
    });
});

错误发生在/Users/xxxxx/Dev/Project/app.js:32:13

除了我更改导出部分之外,我没有更改任何其他代码。

1 个答案:

答案 0 :(得分:1)

你应该在路线内调用你的功能,而不是副词verca:

router.get('/', function(req, res, next) {
  data(function(d) {
      res.render('index', { 
         title: 'Express', 
         data: data
      });
  });
});