express通用生成器【脚手架】
1.作用:
可以帮助我们快速构建一个express项目
2.安装:
- 全局安装 [ 可以使用npm、cnpm ]
$ cnpm i express-generator -g
- npx安装
- npx是npm的一个管理工具,它可以让我们不全局安装就使用某一个包
- npx好处就是可以帮助我们减少使用内存
- 但是npx要求npm的版本在5.2以上
- npx是npm会自动携带
3. 脚手架的使用
- 全局安装的使用
- express -e 项目名称
- npx的使用
- npx express -e 项目名称
生成以下文件
4. 认识项目目录结构
-
- 先找package.json [ 记录了项目的依赖包信息,npm脚本 ]
-
- 找到了项目启动文件 bin/www
- 它是通过http来做了一个服务器,默认端口是:3000
- 这个文件中引入了一个app文件,这个文件是将createServer中的回调函数放到了外面,以模块化的形式使用的,这个文件我们叫它: ‘入口文件’
- 找到了项目启动文件 bin/www
-
- 看: app.js
-
- express是由路由和中间件构成的
- 路由: 可以完成页面的连接或是接口的打造
- 中间件: 中间件是一个函数,一个具有特定功能的函数
- 中间件有三个类型
- 应用级中间件
- 路由中间件
- 错误处理中间件
- 中间件的参数
- req : 全称: request 表示请求
- res : 全称: response 表示响应
- next: 表示request和response之间的连接 , 相当于桥梁的作用
- next如果断开,那么请求和响应就会中断 next( false )
- 中间件要想调用,必须通过app的use方法来调用
- 中间件有三个类型
- express是由路由和中间件构成的
-
- 路由中间件
- 路由中间件人家是以模块化的形式使用
- 看: routes/xx.js
-
- 有两个路径,这两个路径会拼接在一起
- 举例: /home /banner /home/banner 二级路由
- 为什么res.render(‘index’)
- 配置了模板的路径
- 配置了后缀名省略
- 有两个路径,这两个路径会拼接在一起
- 路由中间件
-
- 看: view/xxx.ejs
-
- ejs语法
- ejs文件中可以直接在模板语法中使用数据
一.使用express构建静态服务器【后端渲染】
1.cnpm i 下载依赖
2.创建路由
3.app.js引用路由模块
4.views文件夹下建 .ejs
渲染数据
5监听
6.运行 控制台输出 npm run start
浏览器输入 localhost:300/home
二.使用express构建api服务器【 接口 】
- 步骤
-
通过脚手架搭建项目
-
创建接口
- 接口就是路由
- 接口的打造需要遵循一个规则: restful api
- 很久以前接口时这样的
// 商品列表 http://localhost:3000/shop/query 查询 http://localhost:3000/shop/add 添加一个商品 http://localhost:3000/shop/delete 删除一个商品 http://localhost:3000/shop/update 修改一个商品
- 现在流行的是什么呢?
// 现在流行的是 接口只有一个,但是数据请求方式多个 http://localhost:3000/shop get请求 查询 post请求 增加一个商品 delete请求 删除一个商品 put 请求 修改一个商品信息
- put delete 其实底层还是get
-
-
- 接口测试
-
- 使用测试用具来测试
- postman
- insomina [ 安装无要求,一路next ]
-
- 前端进行接口数据请求
- Front End 前端 FE
- Back End 后端 BE
- 前端: http://127.0.0.1:5500/day03/code/1-express/02_front_end/index.html
- 后端: http://localhost:3000/position
- 跨域问题解决【 后端做 】:
- 设置请求头 【 php java node 】
- put 没有实现跨域
- delete 没有实现跨域
- get 可以
- post 可以
- 使用中间件 cors [ 第三方模块 ]
- 设置请求头 【 php java node 】
- 总结: 跨域
- 前端跨域【 前端做 】
- jsonp
- 反向代理
- 后端跨域
- 设置请求头
- cors中间件跨域
- 前端跨域【 前端做 】
-
- 反向代理原理