当前位置:   article > 正文

Node.js基础---Express

Node.js基础---Express

1. 什么是 Express

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

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

        本质:是一个 npm 上的包,提供了快捷创建服务器方法

        中文官网:http://www.expressjs.com.cn/

        为什么用:http模块和可以创建服务器,但是复杂效率低,Express是基于http封装来的,提高开发效率

        能做什么:

                对于前端来说,最常见的两种服务器:Web网站服务器、API接口服务器

                使用 Express 可以方便、快速的创建 Web 网站服务器或者 API 接口服务器

2. Express 的基本使用

1. 安装

npm i express@4.17.1

2. 创建基本的 Web 服务器

  1. const express = require('express')
  2. const app = express()
  3. app.listen(80, () => {
  4. console.log('启动服务器')
  5. })

3. 监听 GET 请求

通过 app.get() 方法监听

  1. // 参数1 客户端请求的URL地址
  2. // 参数2 请求对应的处理函数
  3. // req:请求对象(包含与请求相关的属性与方法)
  4. // res:响应对象(包含与响应相关的属性与方法)
  5. app.get('请求url', function(req, res) {/*处理函数*/})

4. 监听 POST 请求

通过 app.post() 方法监听

  1. // 参数1 客户端请求的URL地址
  2. // 参数2 请求对应的处理函数
  3. // req:请求对象(包含与请求相关的属性与方法)
  4. // res:响应对象(包含与响应相关的属性与方法)
  5. app.post('请求url', function(req, res) {/*处理函数*/}

5. 把内容响应给客户端

通过 res.send() 方法,可以把处理好的内容发给客户端

  1. app.get('/user', (req, res) => {
  2. // 向客户端发送 JSON 对象
  3. res.send({ name: 'Jason', age: 20, gender: '男' })
  4. })
  5. app.post('/user', (req, res) => {
  6. // 向客户端发送文本信息
  7. res.send('请求成功')
  8. })

6. 获取 URL 中携带的查询参数

通过 req.queryr 对象,可以访问到客户端通过查询字符串形式,发送到服务器的参数

  1. app.post('/', (req. res) => {
  2. // req.query 默认是一个空对象
  3. // 客户端使用 ?name=Jason&age=20 这种查询字符串形式 发送到服务器的参数
  4. // 可以通过 req.query 对象访问到:
  5. // req.query.name req.query.age
  6. console.log(req.query)
  7. })

7. 获取 URL 中的动态参数

通过 req.params 对象  可以访问到URL中,通过 :  匹配到的动态参数

  1. app.post('/user/:id', (req, res) => {
  2. // req.params 默认是一个空对象
  3. // 里面存放着通过 : 动态匹配到的参数值
  4. console.log(req.params)
  5. })

3. 托管静态资源

1. express.static()

        通过这个函数,可以非常方便的创建一个静态资源服务器

        通过如下代码可以将 public 目录下的图片 CSS JS文件对外开放

  1. app.use(express.static('public'))
  2. // 访问 public 目录下的所有文件
  3. // http://localhost:8080/image/1.jpg
  4. // http://localhost:8080/css/style.css
  5. // http://localhost:8080/js/index.js

        注意: 存放静态文件的目录名不会出现在 URL 中

2. 托管多个静态资源目录

        多次调用 express.static() 函数

  1. app.use(express.static('public'))
  2. app.use(express.static('files'))

        访问静态资源文件时,函数会根据目录的添加顺序查找所需文件

3. 挂载路径前缀

        希望在托管的静态资源访问路径前挂载路径前缀

  1. app.use('/public', express.static('public'))
  2. // 现在可以通过带有 /public 的前缀访问目录文件
  3. // http://localhost:8080/public/image/1.jpg
  4. // http://localhost:8080/public/css/style.css
  5. // http://localhost:8080/public/js/index.js

4. nodemon

1. 为什么要使用 nodemon

        编写 node.js 项目时,如果修改了项目的代码,需要手动的close掉,再重新启动,繁琐

        使用 nodemon 工具,能够监听项目文件的变动,自动帮我们重启项目

2. 安装 nodemon

npm i -g nodemon

3. 使用nodemon

        使用 nodemon app.js 启动项目,代码被修改后,会被nodemon监听到,从而实现自动重启

nodemon app.js

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/174419
推荐阅读
相关标签
  

闽ICP备14008679号