黑马案例--实现 clock 时钟的web服务器

1、核心思路

把文件的实际存放路径,作为每个资源的请求 url 地址
核心思路

2、实现步骤

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

步骤1、导入需要的模块
1
步骤2、创建基本的web服务器
2
步骤3-将资源的请求 url 地址映射为文件的存放路径
3
步骤4读取文件内容并响应给客户端
4
步骤5 优化资源的请求路径
5
核心代码如下:

// 1.导入http,fs,path模块
const http = require('http')
const fs = require('fs')
const path = require('path')
// 2.1创建web服务器
const server = http.createServer()
// 2.2监听web服务器的 request 事件
server.on('request', (req, res) => {
    // 3.1获取到客户端请求的URL地址
    const url = req.url
    // // 3.2把请求的 URL 地址,映射为本地文件的存放路径
    // const fpath = path.join(__dirname, url)
    // 5.优化资源的请求路径
    // 将3.2修改为如下代码
    // 5.1预定义空白的文件存放路径
    let fpath = ''
    if (url === '/') {
        // 5.2如请求的路径是否为/,则手动指定文件的存放路径
        fpath = path.join(__dirname, './clock/index.html')
    } else {
        // 5.3 如请求的路径不为/,则动态拼接文件的存放路径
        fpath = path.join(__dirname, './clock', url)
    }

    // 4.1根据映射过来的文件路径读取文件
    fs.readFile(fpath, 'utf8', (err, datastr) => {
        // 4.2读取文件失败后,向客户端响应固定的'错误信息'
        if (err) {
            return res.end('<h1>404 Not fount!</h1>')
        }
        // 4.3读取成功后,将读取内容响应给客户端
        res.end(datastr)
    })
})
// 2.3启动服务器
server.listen(80, () => {
    console.log('server running at http://127.0.0.1:80');
})
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值