【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文件,获取内容将其发送到客户端。

    目录
    相关文章
    |
    10天前
    |
    数据采集 Web App开发 JavaScript
    Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
    随着互联网的发展,网页数据抓取已成为数据分析和市场调研的关键手段。Puppeteer是一款由Google开发的无头浏览器工具,可在Node.js环境中模拟用户行为,高效抓取网页数据。本文将介绍如何利用Puppeteer的高级功能,通过设置代理IP、User-Agent和Cookies等技术,实现复杂的Web Scraping任务,并提供示例代码,展示如何使用亿牛云的爬虫代理来提高爬虫的成功率。通过合理配置这些参数,开发者可以有效规避目标网站的反爬机制,提升数据抓取效率。
    Puppeteer的高级用法:如何在Node.js中实现复杂的Web Scraping
    |
    13天前
    |
    存储 JavaScript NoSQL
    构建高效Web应用:使用Node.js和Express框架
    【8月更文挑战第30天】本文将引导你了解如何使用Node.js和Express框架快速搭建一个高效的Web应用。通过实际的代码示例,我们将展示如何创建一个简单的API服务,并讨论如何利用中间件来增强应用功能。无论你是新手还是有经验的开发者,这篇文章都将为你提供有价值的见解。
    |
    15天前
    |
    缓存 NoSQL 数据库
    高性能Web服务器架构设计
    【8月更文第28天】在当今互联网时代,网站的响应速度直接影响用户体验和业务成功率。因此,构建一个高性能的Web服务器架构至关重要。本文将从硬件配置、软件架构以及网络设置三个方面探讨如何提高Web服务器的性能,并提供一些实际的代码示例。
    32 0
    |
    14天前
    |
    前端开发 JavaScript API
    构建高效Web应用:React与Node.js的完美结合
    【8月更文挑战第29天】在当今快速变化的软件开发领域,构建高性能、可扩展的Web应用成为开发者的首要任务。本文将深入探讨如何利用React和Node.js这两大技术栈,打造一个高效且响应迅速的现代Web应用。从前端的用户界面设计到后端的服务逻辑处理,我们将一步步分析这两种技术如何协同工作,提升应用性能,并确保用户体验的流畅性。通过实际代码示例和架构设计的解析,本篇文章旨在为读者提供一套清晰的指南,帮助他们在项目开发中做出更明智的技术选择。
    |
    16天前
    |
    JavaScript NoSQL 中间件
    《Node.js后端修炼手册》——揭秘服务器搭建与部署上线的生死时速,让你一战成名!
    【8月更文挑战第27天】本文详细介绍如何从零开始利用Node.js构建后端服务器并部署至生产环境。首先,通过简易步骤搭建基础服务器,包括环境安装与配置。接着,引入Express框架优化路由与中间件管理,提升开发效率。随后,利用Mongoose实现MongoDB数据库连接,增强数据交互能力。为保证系统稳定性,文中还讲解了错误处理机制。最后,通过PM2等工具部署应用至生产环境,确保高效运行。本教程辅以示例代码,帮助读者快速掌握Node.js后端开发全流程。
    51 2
    |
    11天前
    |
    API C# 开发框架
    WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
    【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
    41 0
    |
    11天前
    |
    Rust 安全 开发者
    惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
    【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
    22 0
    |
    11天前
    |
    Java 数据库 API
    JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
    【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
    21 0
    |
    12天前
    |
    JavaScript 前端开发 API
    深入浅出:使用Node.js打造简易Web API
    【8月更文挑战第31天】本文旨在通过一个简单实例,引导读者快速入门Node.js并创建自己的Web API。我们将从零开始,一步步搭建起服务端应用,涉及环境搭建、基本语法、路由处理等关键知识点,最后以代码实例加深理解。无论你是前端开发者还是后端新手,这篇文章都能让你轻松上手,体验后端开发的乐趣。
    |
    13天前
    |
    JavaScript 前端开发 UED
    服务器端渲染新浪潮:用Vue.js和Nuxt.js构建高性能Web应用
    【8月更文挑战第30天】在现代Web开发中,提升应用性能和SEO友好性是前端开发者面临的挑战。服务器端渲染(SSR)能加快页面加载速度并改善搜索引擎优化。Vue.js结合Nuxt.js提供了一个高效框架来创建SSR应用。通过安装`create-nuxt-app`,可以轻松创建新的Nuxt.js项目,并利用其自动路由功能简化页面管理。Nuxt.js默认采用SSR模式,并支持通过`asyncData`方法预取数据,同时提供了静态站点生成和服务器端渲染的部署选项,显著提升用户体验。
    34 0