创建一个Node.js服务器

Node.js最常用的核心模块是-

  • http-用于启动简单的服务器,发送请求

  • https-用于启动受SSL保护的HTTP服务器

  • path-用于处理基于操作系统的路径

  • fs-这是一个文件系统处理模块

  • os-用于os相关操作

让我们使用Node.js构建一个简单的http服务器-

在诸如visual studio code的编辑器中创建一个JavaScript文件App.js(随便命名)。

App.js

const http = require(‘http’);
function reqListener(req, res){
   console.log(‘Hello’);
}
const server = http.createServer(reqListener);
server.listen(3000);

讲解

我们使用const关键字而不是var或导入模块,因为此变量引用不会在文件中更改。

Require是Node中的保留关键字,它有助于导入预定义的核心模块和已使用的定义的模块。

导入诸如http之类的预定义模块不需要在其前面添加./。但是如果需要导入自定义定义的自定义模块,则可以如下所示进行操作:

const user = require('./ User');

对于JavaScript文件,在require函数中向文件添加.js扩展名不是必需的。但是任何其他文件格式都需要在require函数中添加扩展名。

导入的模块http有一个createServer方法,该方法将请求侦听器作为参数。该参数函数将在对节点服务器的每个新的http请求上执行。

我们可以在createServer方法中使用匿名函数或下一代javascript箭头函数-

createServer中的匿名函数

const http = require(‘http’);
const server = http.createServer(function(){
   console.log(‘Hello’);
});
server.listen(3000);

使用下一代Javascript

const http = require(‘http’);
const server = http.createServer((req, res)=>{
   console.log(‘Hello’);
});
server.listen(3000);

http模块的createServer方法返回一个服务器。我们可以在服务器上使用listen方法在给定端口上运行它。listen方法将端口号作为参数。

执行App.js文件

在App.js所在的文件夹中打开终端并运行命令-节点App.js

运行此命令将使事件循环保持运行状态,以侦听端口3000上的任何http请求。

在终端上检查控制台日志消息

现在,打开浏览器并导航到localhost:3000,在终端控制台中检查日志语句。在终端的控制台上,我们将看到Hello消息已打印。

截至目前,我们尚未将任何响应返回给浏览器,因此我们不会在其上看到任何输出。在下一篇文章中,我们将看到如何在浏览器上返回和显示响应消息。