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


相关文章
|
2天前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
【4月更文挑战第24天】Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它包含中间件系统用于日志、错误处理和静态文件服务,集成多种模板引擎如EJS、Jade、Pug。框架还提供安全中间件提升应用安全,并具有良好的可扩展性,便于项目功能扩展和开发效率提升。
26 3
|
2天前
|
缓存 数据库 索引
如何优化Python Web应用的性能,包括静态资源加载、缓存策略等?
```markdown 提升Python Web应用性能的关键点:压缩合并静态资源,使用CDN,设置缓存头;应用和HTTP缓存,ETag配合If-None-Match;优化数据库索引和查询,利用数据库缓存;性能分析优化代码,避免冗余计算,使用异步处理;选择合适Web服务器并调整参数;部署负载均衡器进行横向扩展。每一步都影响整体性能,需按需调整。 ```
23 4
|
2天前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
2天前
|
人工智能 JavaScript 前端开发
【利用AI让知识体系化】入门Express框架(三)
【利用AI让知识体系化】入门Express框架
|
2天前
|
XML 人工智能 JavaScript
【利用AI让知识体系化】入门Express框架(二)
【利用AI让知识体系化】入门Express框架
|
2天前
|
存储 JavaScript 数据库
nodejs中express框架实现增删改查接口
nodejs中express框架实现增删改查接口
|
2天前
|
存储 缓存 JSON
玩转Express(二)登录态&中间件
玩转Express(二)登录态&中间件
|
2天前
|
开发框架 JavaScript 中间件
深入探索Node.js的Express框架:使用与中间件详解
【4月更文挑战第30天】本文深入探讨了Node.js的Express框架,介绍了其作为Web开发的强大工具,主要聚焦于基本使用和中间件。Express是基于Node.js的Web应用框架,用于构建高效的应用和API。文章详细讲解了如何安装Express,创建简单应用,以及中间件的工作原理和应用,包括中间件的顺序、错误处理和挂载位置。此外,还提到了使用第三方中间件扩展功能。理解Express基础和中间件对于开发高质量Web应用至关重要。
|
2天前
初识express框架
初识express框架
|
2天前
|
前端开发 数据管理 Ruby
blog-engine-10-middleman 静态站点生成器,利用了现代 Web 开发中的所有快捷方式和工具
这篇内容介绍了Middleman,一个基于Ruby的静态网站生成器。Middleman的特点包括静态网站生成、模板系统、前端技术支持、数据管理和简单的部署。安装步骤涉及安装Ruby和运行`gem install middleman`。使用方法包括在`source`目录编写内容,使用`middleman server`预览,`middleman build`构建网站,然后部署到服务器。Middleman的优势在于速度、灵活性和数据管理,但需要Ruby知识,且社区规模较小。适合熟悉Ruby并寻求强大建站工具的用户。