Node.js
1. express介绍
- express是Node.js的框架
- 使用express构建静态服务器(后端渲染)
- 使用express构建api服务器(接口)
- express通过生成器(脚手架)
- 作用: 可以帮助我们快速构建一个express项目
- 脚手架的安装:
- 全局安装 [ 可以使用npm、cnpm ]
$ cnpm i express-generator -g
- npx安装
- npx是npm的一个管理工具,它可以让我们不全局安装就使用某一个包
- npx好处就是可以帮助我们减少使用内存
- 但是npx要求npm的版本在5.2以上
- npx是npm会自动携带
- 脚手架的使用:
- 全局安装的使用
- express -e 项目名称
- npx的使用
- npx express -e 项目名称
- 全局安装的使用
- 认识项目目录结构
- 先找package.json [ 记录了项目的依赖包信息,npm脚本 ]
- 找到了项目启动文件 bin/www
- 它是通过http来做了一个服务器,默认端口是:3000
- 这个文件中引入了一个app文件,这个文件是将createServer中的回调函数放到了外面,以模块化的形式使用的,这个文件我们叫它: ‘入口文件’ - 看: app.js
- express是由路由和中间件构成的
- 路由: 可以完成页面的连接或是接口的打造
- 中间件: 中间件是一个函数,一个具有特定功能的函数
- 中间件有三个类型
1. 应用级中间件
2. 路由中间件
3. 错误处理中间件
- 中间件的参数
- req : 全称: request 表示请求
- res : 全称: response 表示响应
- next: 表示request和response之间的连接 , 相当于桥梁的作用
- next如果断开,那么请求和响应就会中断 next( false )
- 中间件要想调用,必须通过app的use方法来调用 - 路由中间件
- 路由中间件人家是以模块化的形式使用
- 看: routes/xx.js
- 有两个路径,这两个路径会拼接在一起
- 举例: /home /banner /home/banner 二级路由
- 为什么res.render(‘index’)
- 配置了模板的路径
- 配置了后缀名省略
- 有两个路径,这两个路径会拼接在一起
- 看: view/xxx.ejs
- ejs语法
- ejs文件中可以直接在模板语法中使用数据
- 手动打造一个express的使用流程
$ cnpm i express-generator -g
$ express -e xxx
- 在routes文件夹中新建router (建立router记得要module.exports输出)
- 在views中建立ejs模板
- 在app中创建router和app.use()
- ejs语法学习
- 注意: ejs语法符号是不能换行的
- 非转义输出 <%- %> 可以解析xml类型数据
- 转义输出 <%= %> 可以解析普通类型数据
- 流程控制 <% %>
- if条件语句
<% if ( data.flag ) { %> <h3> 这里是ejs条件语句 </h3> <% } %>
- 循环语句
<% for (var i=0; i<supplies.length; i++) { %> <li> <a href= 'supplies/<%=supplies[i] %>' > <%= supplies[i] %></a> </li> <% } %>