Web 开发框架 — Express 精讲(安装使用、静态托管、路由处理、中间件的使用)(1)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Web 开发框架 — Express 精讲(安装使用、静态托管、路由处理、中间件的使用)(1)

一、Express 安装

       首先创建一个文件夹 study_Express 作为项目文件,在文件中创建入口文件 app.js;

image.png


在集成终端中使用命令 npm init -y 初始化一个 package.json 文件;


image.png


使用命令 npm install express -- save 下载 Express;安装成功后如下:

image.png



二、Express 使用

       下载 Express 之后,就可以正常使用了,在 app.js 中创建一个应用服务器示例;

// study_Express/app.js
const express = require('express') //require函数引入express包
const app = express() //调用函数
const port = 3000 //设置端口3000
app.get('/', (req, res) => {
  res.send('Hello World!') //app对象调用get API,监听根路径 /,有根路径请求时返回“Hello World!”
})
app.listen(port, () => {
  console.log(`Example app listening on port ${port}`) //监听3000端口,启动服务后触发回调函数
})

创建完成后启动服务;

image.png



此时我们查看本地地址的3000端口,就可以返回“Hello World!”;

image.png



以上就是一个最简单的应用服务器。


三、通过 Express 托管静态文件

       所谓托管静态文件就是让图片、文档、js/css/html文件等等可以通过 url 地址来访问;我们新建文件 static.js 来演示静态文件的托管;


// study_Express/static.js
const express = require('express') //require函数引入express包
const app = express() //调用函数
//实现静态资源服务
let server = app.use(express.static('public')) //public就是静态资源的根目录,静态资源放于此文件夹
server.listen(3000, () => { //创建监听
  console.log('服务器启动成功...')
})

提示:app.use 语句可以写多条设置多个静态资源的根目录,访问时互不影响。


在以上代码中我们设置的根目录为 public,所以创建此目录并添加示例文件 1.html 和 1.jpg 用于静态托管;

image.png



接下来,启动服务;

image.png



此时就可以在浏览器中通过 url 来访问我们刚刚添加的静态资源了。

image.png

image.png




除此之外,我们也可以为访问的路径设置一个虚拟目录,具体做法是在 app.use 后新加一个参数;如下,设置虚拟目录 /express;


let server = app.use('/express',express.static('public')) //use的第一个参数指定虚拟目录(路径)

提示:应用服务器文件无论做任何修改都需要重新启动服务。


接下来在访问静态资源的 url 中也需要加入这个虚拟目录;

image.png




四、路由处理

       根据请求路径和请求方式进行路径分发处理的就是路由;


       http 的常用请求方式有 post(添加)、get(查询)、put(更新)、delete(删除),即分别对应增删改查操作;我们新建文件 router.js 来演示路由处理:


// study_express/router.js
const express = require('express') //require函数引入express包
const app = express() //调用函数
//四种基本路由处理(处理特定请求)
app.get('/', (req, res) => {
  res.send('get数据!')
})
app.post('/', (req, res) => {
  res.send('post数据!')
})
app.put('/', (req, res) => {
  res.send('put数据!')
})
app.delete('/', (req, res) => {
  res.send('delete数据!')
})
//直接使用use分发可以处理所有的路由请求(处理所有请求)
// app.use((req,res) => {
//   res.send('ok!')
// })
app.listen(3000, () => { //创建监听
  console.log('router服务器启动成功...')
})

接下来进行接口测试,由于浏览器不太方便,这里我使用的是 ApiPost;


补充: ApiPost 测试接口方法


首先在 ApiPost 正常登录;

image.png


随后新建目录 --> 鼠标右键 --> 新建 --> 新建接口;


image.png


输入接口地址,我们使用的是本地地址、3000端口;

image.png



输入地址后,启动服务器;

image.png



接下来选择发送方式进行测试:

image.png



测试结果如下:


image.png

image.png


相关文章
|
1天前
|
机器学习/深度学习 JSON 编译器
C++ 资源大全:标准库、Web框架、人工智能等 | 最全整理
C++ 资源列表,内容包括: 标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等
8 1
|
1天前
|
Go
golang学习3,golang 项目中配置gin的web框架
golang学习3,golang 项目中配置gin的web框架
|
5天前
|
开发框架 搜索推荐 中间件
中间件应用路由和URL重写
中间件应用路由和URL重写
12 3
|
12天前
|
中间件 Go
【Go语言专栏】Go语言中的中间件与路由处理
【4月更文挑战第30天】本文探讨了Go语言中的路由和中间件处理。路由负责根据URL映射到处理器,`net/http`包提供基础支持,而Gin和Echo等第三方库则提供更强大功能。中间件在请求处理链中执行预处理任务,如日志记录和认证。`net/http`包通过嵌套处理器实现中间件,而Gin和Echo则有更简洁的中间件接口。通过路由和中间件,可构建高效、结构良好的Web应用。建议进一步阅读官方文档以深化理解。
|
12天前
|
中间件 Go API
【Go 语言专栏】Go 语言中的 Web 框架比较与选择
【4月更文挑战第30天】本文对比了Go语言中的四个常见Web框架:功能全面的Beego、轻量级高性能的Gin、简洁高效的Echo,以及各自的性能、功能特性、社区支持。选择框架时需考虑项目需求、性能要求、团队经验和社区生态。开发者应根据具体情况进行权衡,以找到最适合的框架。
|
12天前
|
机器学习/深度学习 前端开发 数据可视化
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
数据分析web可视化神器---streamlit框架,无需懂前端也能搭建出精美的web网站页面
|
12天前
|
开发框架 前端开发 JavaScript
学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面
学会Web UI框架--Bootstrap,快速搭建出漂亮的前端界面
|
12天前
|
缓存 前端开发 安全
Python web框架fastapi中间件的使用,CORS跨域详解
Python web框架fastapi中间件的使用,CORS跨域详解
|
12天前
|
API 数据库 Python
Python web框架fastapi数据库操作ORM(二)增删改查逻辑实现方法
Python web框架fastapi数据库操作ORM(二)增删改查逻辑实现方法
|
12天前
|
关系型数据库 MySQL API
Python web框架fastapi数据库操作ORM(一)
Python web框架fastapi数据库操作ORM(一)