【什么是Express】
Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。
通俗的理解:Express 的作用和 Node.js 内置的 http 模块类似,是专门用来创建 Web 服务器的。
Express 的本质:就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。
中文官网:
https://www.expressjs.com.cn/

【进一步理解】
有了 http 内置模块,为什么还要用Express?
→ http 内置模块用起来很复杂,开发效率低;Express 是基于内置的 http 模块进一步封装出来的,能够极大的提高开发效率。
http 内置模块与 Express 是什么关系?
类似于浏览器中 Web API 和 jQuery 的关系。后者是基于前者进一步封装出来的。
【Express能做什么】
对于前端程序员来说,最常见的两种服务器,分别是:
Web 网站服务器:专门对外提供 Web 网页资源的服务器。
API 接口服务器:专门对外提供 API 接口的服务器。
使用 Express,可以方便、快速的创建 Web 网站的服务器或 API 接口的服务器。
【安装】
创建新项目


webstorm可以直接创建Express项目。
【创建基本的Web服务器】
//导入Express
const express = require('express')
//创建Web服务器
const app = express()
//调用app方法,启动服务器
app.listen(80,() =>{
console.log("Express服务启动了........")
})

【监听GET请求】
//监听GET请求
app.get('请求URL', function (req, res) {
/*处理函数*/
})
【监听POST请求】
//监听POST请求
app.post("请求URL",function (req , res) {
/*处理函数*/
})
【将内容响应给客户端】
//通过res.send()方法,把处理好的内容,发送给客户端
app.get('/user',(req, res) =>{
//向客户端发送JSON对象
res.send({name:'dingjiaxiong',age:22,gender:'男'})
})
//post
app.post('/user',(req, res)=>{
res.send("请求成功")
})


【获取URL中携带的查询参数】
通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数:
app.get('/',(req, res)=>{
console.log(req.query)
})

【获取URL中的动态参数】
通过 req.params 对象,可以访问到 URL 中,通过 : 匹配到的动态参数:
app.get('/user/:id',(req, res)=>{
console.log(req.params)
})

xpress 提供了一个非常好用的函数,叫做 express.static(),通过它,我们可以非常方便地创建一个静态资源服务器,
例如,通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问了:
app.use( express.static('public'))

【托管多个静态资源目录】
如果要托管多个静态资源目录,可以多次调用 express.static() 函数:
app.use( express.static('public'))
app.use( express.static('file'))
访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件。
【挂载路径前缀】
如果希望在托管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式:
app.use('/public',express.static('public'))
现在,就可以通过带有 /public 前缀地址来访问 public 目录中的文件了:

【为什么要用nodemon】
在编写调试 Node.js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。
可以使用 nodemon(https://www.npmjs.com/package/nodemon) 这个工具,它能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目,极大方便了开发和调试。
【安装nodemon】

【使用nodemon】

js 项目的时候,如果修改了项目的代码,则需要频繁的手动 close 掉,然后再重新启动,非常繁琐。
可以使用 nodemon(https://www.npmjs.com/package/nodemon) 这个工具,它能够监听项目文件的变动,当代码被修改后,nodemon 会自动帮我们重启项目,极大方便了开发和调试。
【安装nodemon】
[外链图片转存中…(img-SD3I8XIw-1662596897943)]
【使用nodemon】
