2013-08-17 52 views
0

我正在尝试向Twitter API发出请求并使用JSON响应。使用node.js时Twitter API请求错误

这是我的代码。

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

Typo;

var request = require('require'); 

应该最有可能是

var request = require('request'); 

编辑:你还缺少express,我怀疑你要添加这些行;

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

...和npm install request express以获取安装的模块。

+1

谢谢。在提出问题之前,我会仔细查看我的代码。 后来编辑:我仍然得到同样的错误。 –

+1

@GeorgeNetu你需要'npm install request'。你还缺少'app'的定义,它可能是'express'? –