【Node.js练习】web服务器案例

简介: 【Node.js练习】web服务器案例

 核心思路

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

image.gif编辑

实现步骤

    1. 导入需要的模块
    2. 创建基本的web服务器
    3. 将资源的请求url地址映射为文件的存放路径
    4. 读取文件内容并响应客户端
    5. 优化资源的请求路径

    实现代码

         创建web服务器

           

    //导入
    //导入http模块
    const http = require('http');
    //导入fs系统模块
    const fs = require('fs');
    //导入路径模块
    const path = require('path');
    //创建
    //创建web服务器
    const server = http.createServer();
    //request事件
    server.on('request', function (req, res) {
    })
    //监听
    server.listen(8080, () => {
        console.log('server running at http://127.0.0.1:8080');
    })

    image.gif

    image.gif编辑

    服务器搭建完成

      转换url地址

    //导入
    //导入http模块
    const http = require('http');
    //导入fs系统模块
    const fs = require('fs');
    //导入路径模块
    const path = require('path');
    //创建
    //创建web服务器
    const server = http.createServer();
    //request事件
    server.on('request', function (req, res) {
        const url = req.url;
        //将返回的路径进行修改拼接 再返回到客户端
        const newPath = path.join(__dirname, '/时钟案例/clock', url)
        fs.readFile(newPath, 'utf-8', function (err, data) {
            if (err) {
                return console.log(' 404' + err);
            }
            res.end(data);
        })
    })
    //监听
    server.listen(8080, () => {
        console.log('server running at http://127.0.0.1:8080');
    })

    image.gif

    直接再 端口号后面输入/index.html就可以访问到我们的时钟主页

    image.gif编辑

    这是我的文件路径image.gif编辑

    const newPath = path.join(__dirname, '/时钟案例/clock', url)

    image.gif

    我们输入/index.html url拿到了这个短地址  ,dirname拿到了当前文件的目录路径也就是online,我们将路径导向index.html的父级文件夹 ,三个拼接在一起 就能准确的定位到index.html文件,获取内容将其发送到客户端。

    目录
    相关文章
    |
    15天前
    |
    数据采集 Web App开发 JavaScript
    Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
    随着互联网的发展,网页数据抓取已成为数据分析和市场调研的关键手段。Puppeteer是一款由Google开发的无头浏览器工具,可在Node.js环境中模拟用户行为,高效抓取网页数据。本文将介绍如何利用Puppeteer的高级功能,通过设置代理IP、User-Agent和Cookies等技术,实现复杂的Web Scraping任务,并提供示例代码,展示如何使用亿牛云的爬虫代理来提高爬虫的成功率。通过合理配置这些参数,开发者可以有效规避目标网站的反爬机制,提升数据抓取效率。
    Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
    |
    7天前
    |
    SQL 数据挖掘 数据库
    服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
    服务器数据恢复环境: 一台服务器中有一组由4块STAT硬盘通过RAID卡组建的RAID10阵列,上层是XenServer虚拟化平台,虚拟机安装Windows Server操作系统,作为Web服务器使用。 服务器故障: 因机房异常断电导致服务器中一台VPS(Xen Server虚拟机)不可用,虚拟磁盘文件丢失。
    服务器数据恢复—意外断电导致XenServer虚拟机不可用的数据恢复案例
    |
    15天前
    |
    网络协议
    keepalived对后端服务器的监测方式实战案例
    关于使用keepalived进行后端服务器TCP监测的实战案例,包括配置文件的编辑和keepalived服务的重启,以确保配置生效。
    28 1
    keepalived对后端服务器的监测方式实战案例
    |
    5天前
    |
    存储 数据挖掘 Linux
    服务器数据恢复—Linux操作系统网站服务器数据恢复案例
    服务器数据恢复环境: 一台linux操作系统服务器上跑了几十个网站,服务器上只有一块SATA硬盘。 服务器故障: 服务器突然宕机,尝试再次启动失败。将硬盘拆下检测,发现存在坏扇区
    |
    7天前
    |
    人工智能 开发框架 前端开发
    Web开发之Vue.js
    Web开发之Vue.js
    12 3
    |
    15天前
    |
    存储 运维 小程序
    服务器数据恢复—双循环RAID5阵列数据恢复案例
    服务器存储数据恢复环境: 一台存储中有一组由7块硬盘组建的RAID5阵列,存储中还有另外3块盘是raid中掉线的硬盘(硬盘掉线了,管理员只是添加一块的新的硬盘做rebuild,并没有将掉线的硬盘拔掉)。整个RAID5阵列的存储空间划分了一个LUN。 服务器存储故障: 硬盘出现故障导致存储中阵列瘫痪。 和管理员沟通,据管理员说是磁盘阵列中某些硬盘出现故障导致存储不可用,初步判断RAID中有硬盘掉线了。
    |
    17天前
    |
    开发者 图形学 开发工具
    Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
    【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
    51 1
    |
    17天前
    |
    API C# 开发框架
    WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
    【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
    51 0
    |
    17天前
    |
    Java 数据库连接 数据库
    从零到精通:揭秘 Hibernate 构建持久层服务的全过程,你离数据持久化大师还有多远?
    【8月更文挑战第31天】本文详细介绍了如何从零开始使用 Hibernate 构建一个持久层服务。首先,通过在 Maven 项目中添加必要的依赖,确保项目具备使用 Hibernate 的条件。接着,配置 `hibernate.cfg.xml` 文件以连接 MySQL 数据库,并设置了基本属性。然后定义了一个简单的 `User` 实体类及其映射关系。此外,还创建了一个 `HibernateUtil` 工具类来管理 `SessionFactory`。
    27 0
    |
    17天前
    |
    Rust 安全 开发者
    惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
    【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
    28 0