节点服务器正在运行但无法在浏览器上运行且端口未定义

时间:2018-02-11 18:26:46

标签: node.js port

我是Node JS的新手。我的第一个应用程序出现了这个问题。节点服务器正在运行。但在控制台中,它表示端口未定义,并且在浏览器上它表示拒绝连接。

const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req,res) =>{
    res.statusCode = 200;
    res.setHeader('Content-type','text/plain');
    res.end('Hello world');
});
server.listen((port,hostname) => {
console.log('server started on port: '+port);
}); 

我尝试过http://127.0.0.1:3000/http://localhost:3000/。但是没有用。

2 个答案:

答案 0 :(得分:4)

调用listen时无需指定主机名。此外,端口应该是第一个参数,回调应该是第二个 工作示例:

const http = require('http');
const port = 3000;

const server = http.createServer((req,res) =>{
    res.statusCode = 200;
    res.setHeader('Content-type','text/plain');
    res.end('Hello world');
});

server.listen(port, (err) => {
    // err handling
    console.log('server started on port: '+port);
});

现在转到浏览器上的localhost:3000会产生您想要的结果。

答案 1 :(得分:2)

http.listen()的格式为:

  

server.listen(port,callback);

但是你正在做的是

  

server.listen(回调)

由于您仅在http.listen()中传递了箭头功能,因此端口未知。

所以你需要做的是:

server.listen(port, (err) => {
   console.log('server started on port: '+port);
});