«

Node http模块基本使用方法是什么

时间:2024-3-3 11:27     作者:韩俊     分类: PHP


这篇文章主要介绍了Node http模块基本使用方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Node http模块基本使用方法是什么文章都会有所收获,下面我们一起来看看吧。

http 模块

使用 Node.js 中创建 Web 服务,主要依赖内置的 http 模块。经典的 express.js、koa.js 框架都是以 http 模块为核心,进行的不同程度的封装。

创建一个最简单的 Web 服务只需要几行代码。新建一个 index.js 文件,输入以下内容:

// 1.导入 http 模块
const http = require('http');

// 2. 调用 createServer 方法创建服务
const server = http.createServer((request, response) => {
    // 3.响应给浏览器的内容
    response.end('Hello, World'); 
});

// 4.执行 listen 方法,启动服务
server.listen(3000, () => {
    console.log('服务器启动成功:http://localhost:3000')
})

然后打开命令行工具,使用 node 命令执行该文件:

// net 模块

class Server extends EventEmitter {
 
        /**
         * 启动服务器监听连接。此 Server 可以是 TCP 或 IPC 服务器,具体取决于它所监听的内容。
         */
        // 有若干重载,这是最常使用的一种方法
        listen(port?: number, hostname?: string, listeningListener?: () => void): this;
        listen(port?: number, listeningListener?: () => void): this;
}

// http 模块
import { Server as NetServer } from 'node:net';

function createServer<
        Request extends typeof IncomingMessage = typeof IncomingMessage,
        Response extends typeof ServerResponse = typeof ServerResponse,
    >(requestListener?: RequestListener<Request, Response>): Server<Request, Response>;
      
class Server<
        Request extends typeof IncomingMessage = typeof IncomingMessage,
        Response extends typeof ServerResponse = typeof ServerResponse,
    > extends NetServer {}

所以通过 createServer 方法创建了服务之后,还用再调用 listen 方法,用于启动该服务,监听连接

它有多种重载,最常用的一种就是监听一个端口,在启动成功后,执行回调函数:

server.listen(3000, () => {
    console.log('服务器启动成功:http://localhost:3000')
})

如果服务启动失败,比如出现端口占用时,控制台中会直接报错,就不再执行后面的回调函数了。

再介绍两种其他的重载,使用的并不多。

一种是不指定端口号,此时操作系统会随机分配一个可用的端口号。在服务启动成功后,可以通过 server.address().port 属性来获得分配的端口号:

server.listen(() => {
    const port = server.address().port
    console.log(port)
    console.log('服务器启动成功:http://localhost:', port)
})

试一下:

一种是指定要监听的主机名

当不指定 host 时,默认为 0.0.0.0(IPv4)或者 ::(IPv6),支持网络中所有的主机进行访问

如果设置为 locolhost 或者 127.0.0.1,则只能自己的主机访问。

server.listen(3000, 'localhost', () => {
    console.log('服务器启动成功:http://localhost:', port)
})

标签: php php教程

热门推荐