2013-08-17 56 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'? –