文章目录
- 一、框架简介
- 1.框架:是半成品,对响应底层技术的封装,可以提高开发效率
- 2.MVC:model-view-control,称为模型-视图-控制器
- 3.常用框架:
- 二、Express框架
- 1.特点:
- 2.安装:全局安装
- 3.创建项目:命令行创建
- 4.在集成开发环境创建项目
- 5.express项目的目录结构:
- 6.express页面:
- 7.请求对象:request,客户端向服务器发送的请求
- 8.响应对象:response
- 9.页面跳转的方式
- 三、express中解决跨域问题
一、框架简介
1.框架:是半成品,对响应底层技术的封装,可以提高开发效率
2.MVC:model-view-control,称为模型-视图-控制器
(1)M:数据模型(MySQL的是sequelize定义,MongoDB是mongoose定义)
(2)V:视图(HTML页面),将数据以网页的形式展示出来
(3)C:控制器(Node服务器)
3.常用框架:
(1)express框架
(2)Koa框架:对JavaScript的promise和async异步编程比较熟悉
(3)Egg框架:企业级的开发框架。由阿里开发的,国内用户较多
二、Express框架
1.特点:
(1)中间件:响应http请求,是请求处理的函数的模块
(2)路由表:响应用户的不同请求
(3)根据参数动态的渲染页面
2.安装:全局安装
npm install -g express-generator
3.创建项目:命令行创建
(1)创建项目:进入相应的文件夹,在cmd窗口中输入 express 项目名
(2)进入项目: cd 项目文件名
(3)初始化项目: npm install
(4)启动项目: npm start
(5)验证项目是否创建成功:浏览器中输入http://localhost:3000
4.在集成开发环境创建项目
直接使用WebStorm创建express项目
5.express项目的目录结构:
(1)bin目录:启动配置文件,可以修改运行端口号
(2)node_modules: 存放的是项目依赖模块
(3)public:存放静态资源文件
(4)routers目录:路由文件
(5)views目录:页面文件(网页)
(6)app.js:项目的入口文件(项目配置)
(7)package.json:项目依赖配置及开发者信息
6.express页面:
6.1更改express页面的默认模板引擎为art-template:
(1)安装两个模块:npm install -S art-template npm install -S express-art-template
(2)在app.js文件中设置页面引擎
6.2渲染页面:
(1)在服务器端通过response对象的render方法将数据渲染到页面
(2)在页面中使用{{变量名}}来得到服务器端的数据
6.3 art-template页面引擎中页面的渲染方式
(1)条件渲染
{{if 条件}}
html代码
{{/if}}
(2)嵌套的条件渲染
{{ if 条件 }}
{{ if 条件 }}
html代码
{{ /if }}
{{ /if }}
(3)循环渲染
{{each arr as item}}
<tr align="center">
<td>{{item.id}}</td>
<td>{{item.username}}</td>
<td>{{item.age}}</td>
<td>{{item.sex}}</td>
</tr>
{{/each}}
7.请求对象:request,客户端向服务器发送的请求
(1)request.params:获取路由参数
示例:
前端页面:
<a href="http://localhost:3000/test/11/lisi">params参数测试</a>
后台的接口:
router.get('/test/:id/:user',function (req,res,next) {
res.send(req.params); //将用户的请求参数响应回去
});
id接收的是11,user接收的是lisi
(2)request.query :获取get请求的查询字符串参数
url传值:
url?参数名1=参数值&参数名2=参数值2
?是url地址和参数之间的分隔符
&是参数之间的分隔符
(3)request.body:获取post的请求体内容
8.响应对象:response
(1)response.render(视图名,数据):页面的文件名(不带扩展名),‘数据’是向页面发送的数据
(2)response.send(options):向客户端发送响应数据,可以是一个对象
(3)response.redirect([status],url):重定向浏览器,默认状态码:302
9.页面跳转的方式
(1)请求转发:请求对象只有一个。在服务器端进行(render进行了请求转发)
(2)页面重定向:发送两次请求,产生两个请求对象。在客户端进行的(redirect页面重定向)
三、express中解决跨域问题
1.跨域:客户端和服务器在协议,地址,端口号,任意一个不同就是跨域
2.安装跨域模块cors : npm install cors
3.在app.js文件中引入跨域模块
var cors = require('cors');
4.使用跨域模块
app.use(cors());
有了跨域模块可以实现前后端分离,前端可以通过后台给定的接口地址来获取数据。