当前位置: 首页 > article >正文

Express教程【001】:Express创建基本的Web服务器

文章目录

  • 1、初识express
    • 1.1 什么是Express
    • 1.2 主要特点
    • 1.3 Express的基本使用
      • 1.3.1 安装
      • 1.3.2 创建基本的Web服务器

1、初识express

目标:

  • 能够使用express.static()快速托管静态资源
  • 能够使用express路由精简项目结构
  • 能够使用常见的express中间件
  • 能够使用express创建API接口
  • 能够在express中启用cors跨域资源共享

1.1 什么是Express

Express是基于Node.js平台,快速、开放、极简的Web开发框架

通俗理解:Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的

本质:就是npm的第三方包,提供了快速创建web服务器的便捷方法。

中文网地址:https://www.expressjs.com.cn/

image-20250530152343180

1.2 主要特点

Express 是一个基于 Node.js 的 web 应用框架,用于构建快速、灵活的 web 应用和 API。它简化了 HTTP 服务的构建,提供了一些方便的功能,如路由管理、请求和响应处理、模板渲染等。Express 是非常轻量的,灵活的,可以与多种中间件结合使用,适用于不同规模的项目。

主要特点:

  1. 简洁的路由系统
    Express 提供了一个简单而强大的路由系统,可以帮助开发者轻松地定义 URL 路径、HTTP 方法(GET, POST, PUT, DELETE)和相应的处理函数。
  2. 中间件支持
    中间件是 Express 的核心特性之一,它允许开发者在请求处理过程中插入各种功能(如身份验证、日志记录、文件上传等)。通过中间件,你可以灵活地修改请求和响应对象。
  3. 模板引擎支持
    Express 可以与各种模板引擎(如 EJS, Pug, Handlebars 等)一起使用,便于动态渲染 HTML 页面。
  4. 路由参数和查询字符串
    Express 允许你轻松地提取路由中的参数和查询字符串,从而构建更加动态的 URL。
  5. 支持静态文件
    Express 能够直接提供静态文件的服务,比如图片、CSS、JavaScript 文件等。
  6. 扩展性和模块化
    Express 本身非常轻量,你可以根据需要扩展更多功能,通过安装各种 npm 模块,像数据库连接、身份验证、API 请求等,都可以通过第三方中间件轻松实现。

1.3 Express的基本使用

1.3.1 安装

1️⃣创建一个空文件夹express-basic,使用cmd打开该路径,运行如下命令进行安装:

npm i express@4.17.1

注意⚠️:这里的安装版本是4.17.1

1.3.2 创建基本的Web服务器

1️⃣新建01-使用express创建基本的服务器.js文件:

// 1、导入express
const express = require('express');
// 2、创建web服务器
const app = express();
// 3、启动web服务器
app.listen(80, ()=>{console.log('express server listening on http://127.0.0.1:80');
})

2️⃣启动:

node 01-使用express创建基本的服务器.js

启动成功:

image-20250530153415481

http://www.lryc.cn/news/2393002.html

相关文章:

  • asio之async_result
  • 代码随想录算法训练营 Day60 图论Ⅹ Bellmen_ford 系列算法
  • 独立机构软件第三方检测:流程、需求分析及电商软件检验要点?
  • Java构建Tree并实现节点名称模糊查询
  • shadcn/ui
  • 华为FreeArc能和其他华为产品共用充电线吗?
  • [网页五子棋][匹配模式]创建房间类、房间管理器、验证匹配功能,匹配模式小结
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.7 R语言解题
  • 【知识点】第2章:Python程序实例解析
  • 从解决一个分享图片生成的历史bug出发,详解LayoutInflater和View.post的工作原理
  • Ubuntu 22.04 上使用 Docker 安装 RagFlow
  • 每日Prompt:指尖做画
  • Python打卡训练营day40——2025.05.30
  • Java八股-数据类型转换有哪些?类型互转会有什么问题?为什么用bigDecimal 不用double ?自动装箱和拆箱?包装类?
  • redis未授权(CVE-2022-0543)
  • 【运维实战】Linux 中su和sudo之间的区别以及如何配置sudo!
  • LevelDB、BoltDB 和 RocksDB区块链应用比较
  • c/c++的opencv图像金字塔缩放
  • PDF文件转换之输出指定页到新的 PDF 文件
  • 浏览器之禁止打开控制台【F12】
  • 进阶智能体实战九、图文需求分析助手(ChatGpt多模态版)(帮你生成 模块划分+页面+表设计、状态机、工作流、ER模型)
  • GEARS以及与基础模型结合
  • SFINAE(替换并不是错误)机制详解详解
  • 怎么用外网打开内网的网址?如在异地在家连接访问公司局域网办公网站
  • 计算机网络 | 1.1 计算机网络概述思维导图
  • AI对软件工程的影响及未来发展路径分析报告
  • redis缓存与数据库协调读写机制设计
  • 最悉心的指导教程——阿里云创建ECS实例教程+Vue+Django前后端的服务器部署(通过宝塔面板)
  • 【Python】os模块
  • Syslog 全面介绍及在 C 语言中的应用