Node.js:TypeError:object不是一个函数

我有一个奇怪的错误:

var http = require("http"); var request = require("request"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Print the google web page. } }); response.end(); }).listen(8888); 

这个想法是为了听一个networking服务器,然后做一个请求。 但是这是我得到的错误:

  request('http://www.google.com', function (error, response, body) { ^ TypeError: object is not a function at Server.<anonymous> (/Users/oplgkim/Desktop/iformtest/j.js:8:2) at Server.EventEmitter.emit (events.js:98:17) at HTTPParser.parser.onIncoming (http.js:2056:12) at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:120:23) at Socket.socket.ondata (http.js:1946:22) at TCP.onread (net.js:525:27) 

我究竟做错了什么? 我安装了请求,所以不是这样:)

因为您有一个具有相同名称的本地variables,所以访问request全局variables会丢失。 重命名其中一个variables将解决这个问题:

 var http = require("http"); var request = require("request"); http.createServer(function(req, response) { response.writeHead(200, {"Content-Type": "text/plain"}); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Print the google web page. } }) response.end(); }).listen(8888);