使用node.js时Twitter API请求错误

时间:2013-08-17 17:05:45

标签: node.js http twitter terminal

我正在尝试向Twitter API发出请求并使用JSON进行响应。

这是我的代码。

var http = require('http');
var request = require('request');
var url = require('url');

app.get('/twwets/:username', function(req, response) {
    var username = req.params.username;

    options = {
        protocol: "http:",
        host: 'api.twitter.com',
        pathname: '/1/statuses/user_timeline.json',
        query: { screen_name: username, count: 10}
    }

    var twitterUrl = url.format(options);
    request(twitterUrl).pipe(response);
}).listen(8080);

这就是我在终端中运行node app.js时得到的结果:

module.js:340
    throw err;
          ^
Error: Cannot find module 'require'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/geosh/node.js_practice/express_practice/app.js:2:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

我需要知道我做错了什么。

[我的代码似乎没用,但它只是出于教育目的。请原谅任何错误。]

编辑:我在shell中保存并运行代码后仍然遇到同样的错误。

2 个答案:

答案 0 :(得分:2)

错字;

var request = require('require');

应该很可能是

var request = require('request');

编辑:你也错过了express,我怀疑你会想要添加这些行;

var express = require('express');
var app = express();

...和npm install request express来安装模块。

答案 1 :(得分:2)

参考以下链接可以使用

http://expressjs.com/

用于Twitter身份验证

http://passportjs.org/