Nodejs中通过web服务器访问静态资源

Nodejs中web 服务器创建和使用

https://blog.csdn.net/qq_44741577/article/details/136445032?spm=1001.2014.3001.5501

一、需求说明

1.1. 文档目录

image.png

1.2. index.html效果展示

image.png

1.3. 实现的功能

浏览器访问127.0.0.1可以打开我的index.html并且加载jscss

二、实现步骤

  • 导入需要的模块
  • 创建基本的 web 服务器
  • 将资源的请求url地址映射为静态资源的存放路径
  • 读取文件内容并响应给客户端

2.1. 导入需要的模块

// 1.1 导入 http 模块
const http = require( 'http' )
// 1.2 导入 fs 文件系统模块
const fs = require( 'fs' )
// 1.3 导入 path 路径处理模块
const path = require( 'path' )

2.2. 创建基本的 web 服务器

//  2.1 创建 web 服务器
const serve = http.createServer();

// 2.2 监听 web 服务器的 request 事件
serve.on("request", (req, res) => {});

//  2.3 启动 web 服务器
serve.listen(80, () => {
  console.log(" server listen at http://127.0.0.1");
});

2.3. 将资源的请求url地址映射为静态资源的存放路径

// 2.2 监听 web 服务器的 request 事件
serve.on("request", (req, res) => {
  // 3.1 获取到客户端请求的 url地址
  const url = req.url;
  // 3.2 把 请求的 url地址,映射为静态资源的存放路径
  const fpath = path.join(_dirname, url);
  console.log(__dirname); //__dirname就是当前js文件所在的目录
});

2.4. 读取文件的内容并响应给客户端

// 4.1 根据”映射”过来的文件路径读取文件
  fs.readFile(fpath, "utf-8", (err, dataStr) => {
    // 4.2 读取文件失败后,向客户端响应固定的“错误消息”
    if (err) return res.end("404 Not fount.");
    //4 读取文件成功后,将“读取成功的内容”响应给客户端
    res.end(dataStr);
  });

2.5. 完整代码

// 1.1 导入 http 模块
const http = require("http");
// 1.2 导入 fs 文件系统模块
const fs = require("fs");
// 1.3 导入 path 路径处理模块
const path = require("path");

//  2.1 创建 web 服务器
const serve = http.createServer();

// 2.2 监听 web 服务器的 request 事件
serve.on("request", (req, res) => {
  // 3.1 获取到客户端请求的 ur1 地址
  const url = req.url;
  // 3.2 把 请求的 url 地址,映射为本地文件的存放路径
  const fpath = path.join(__dirname, url);
  console.log(__dirname); //__dirname就是当前js文件所在的目录
  // 4.1 根据”映射”过来的文件路径读取文件
  fs.readFile(fpath, "utf-8", (err, dataStr) => {
    // 4.2 读取文件失败后,向客户端响应固定的“错误消息”
    if (err) return res.end("404 Not fount.");
    //4 读取文件成功后,将“读取成功的内容”响应给客户端
    res.end(dataStr);
  });
});

//  2.3 启动 web 服务器
serve.listen(80, () => {
  console.log(" server listen at http://127.0.0.1");
});

三、运行服务

image.png

四、浏览器访问127.0.0.1/html/index.html

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值