Node.js ReferenceError

时间:2013-07-07 02:48:47

标签: node.js

这是我第一次去NodeJS。我在DigitalOcean的一个实例上成功安装了它。

我有以下helloworld.js

require("http");

http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);console.log('Hello world');

当我通过“node helloworld.js”运行它时,我收到以下错误:

/home/jason/helloworld.js:4
http.createServer(function(request, response) {
^
ReferenceError: http is not defined
at Object.<anonymous> (/home/jason/helloworld.js:4:1)
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)
at startup (node.js:119:16)
at node.js:901:3
jason@do:~$

有人能指出我正确的方向吗?

4 个答案:

答案 0 :(得分:47)

require()不能像#includeimport那样在其他语言中使用。

require()返回对已解析模块的引用。必须将该引用分配给变量。

var http = require('http'); //the variable doesn't necessarily have to be named http
http.createServer(function(req, res) {});

或者

require('http').createServer(function(req, res) {
});

答案 1 :(得分:0)

由于错误明确指出,因此没有re功能。

您的意思是require吗?

答案 2 :(得分:0)

我也遇到了同样的问题,我已经尝试过:

var http = require('http');
http.createServer(function (request, response) {

   response.writeHead(200, {'Content-Type': 'text/plain'});

   response.end('Server started\n');
}).listen(8081);

console.log('Server running at http://127.0.0.1:8081/');

也许会对您有帮助。

答案 3 :(得分:0)

我遇到了同样的问题。我试过了 var http = require('http'); http.createServer(function (request, response) {

response.writeHead(200, {'Content-Type': 'text/plain'});

response.end('服务器启动\n'); }).听(8081);

console.log('服务器运行于 http://127.0.0.1:8081/');

它对我有用。