版权声明
- 原创作者:Sᴀғᴇᴛʏ 007
- 博客地址:https://blog.csdn.net/weixin_44437620?spm=1000.2115.3001.5343
什么是Express?
Express是基于Node.js平台,快速、开放、极简的Web开发框架。
Express的本质:就是一个npm上的第三方包,提供了快速创建Web服务器的便捷方法。
- Express官方文档:https://www.expressjs.com.cn/
既生瑜何生亮(有了http内置模块,为什么还要用Express)?
http内置模块用起来很复杂,开发效率低;Express是基于内置的http模块进一步封装出来的,能够极大的提高开发效率。两者的关系类似于Web API 和JQuery的关系,后者是基于前者进一步封装出来的。
Express能做什么?
对于前端程序员来说,常见的两种服务器分别是:
Web网站服务器:专门对外提供Web网页资源的服务器。
API接口服务器:专门对外提供API接口的服务器。
使用Express,我们可以快速的创建Web网站的服务器或API接口的服务器
Express的基本使用
- 安装:在项目所处的目录中,运行如下的终端命令,即可将Express安装到项目中使用:
npm install express@4.17.1
- 创建基本的Web服务器
// 1. 导入express
const express = require('express')
// 2. 创建web服务器
const app = express()
// 3. 调用app.listen(端口号),启动服务器
app.listen(80,()=>{
console.log('express server running at http://127.0.0.1')
})
- 监听GET请求
通过app.get()方法,可以监听客户端的GET请求
// 参数1:客户端请求的url地址
// 参数2:请求对应的处理函数
// req:请求响应
// res:响应对象
app.get('请求URL',function(req,res){/*处理函数*/})
- 监听POST请求
通过app.post()方法,可以监听客户端的POST请求
// 参数1:客户端请求的url地址
// 参数2:请求对应的处理函数
// req:请求响应
// res:响应对象
app.post('请求URL',function(req,res){/*处理函数*/})
- 把内容响应给客户端
通过res.send()方法,可以把处理好的内容,发送给客户端:
app.get('/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)
})
托管静态资源
- express.static()
express提供了一个非常好用的函数,叫做express.static(),通过它,我们可以非常方便的创建一个静态资源服务器。
例如,通过如下的代码,就可以将public目录下的图片,css文件,js文件对外开放访问了。
app.get(express.static('public'))
nodemon工具
https://www.npmjs.com/package/nodemon
在编写调试Node.js项目的时候,如果修改了项目的代码,需要频发的重启项目,非常繁琐。
使用nodemon工具,就可以监听项目文件的变动,当代码被修改时,nodemon会自动帮我们重启项目,极大的方便了开发和调试。
运行项目命令:nodemon app.js