初窥nodejs(四) ——express框架
来源:互联网 发布:淘宝皇冠店铺100强 编辑:程序博客网 时间:2024/05/21 11:10
写在前面
在这篇博客中,我为介绍express框架及其中间件的使用
何为express
express和原生nodejs的关系就类似于jquery和原生js的关系。express基于nodejs,并对nodejs进行封装,更方便我们使用
使用express
第一步:引入express模块
const express=require('express');
第二步:开启服务
var server=express();
第三步:监听端口
server.listen(8080);
get&post&use
express对nodejs的http.createServer(function(req,res){})进行了封装。封装了三个函数:
server.get(function(req,res){})//接收get请求server.post(function(req,res){})//接收post请求server.use(function(req,res){})//接收所有请求
req&res
express是基于nodejs并高于nodejs的
基于nodejs:express的req和res保留了原有的属性和方法。
高于nodejs:express的req和res扩展了一些属性和方法。
举个例子
res.write(data)方法是先前台传送数据data,但是这个data不能是json。express保留了res.write()方法,同时开发了res.send()方法。res.send(data)方法是先前台传送数据data,这个data可以是任意数据。这样的例子还有很多......
中间件
我们知道jquery是轻量级的框架,但是它却能做几乎所有的事情,原因是因为jquery支持插件,这使得有很多基于jquery的插件。 输入框插件,进度条插件等等...... 类似jquery的express,类似jquery,它也支持中间件。这里我们介绍一个中间件:
body-parser
const bodyParser=require('body-parser');server.use(bodyParser.urlencoded({ extended: false, //扩展模式 limit: 2*1024*1024 //限制-2M}));server.use('/', function (req, res){ console.log(req.body); //POST});
它的简单作用是将post请求的数据存入req.body中
自定义中间件
类似于自定义模块,我简单写一个自定义的body-parser,实现将post请求的数据存入req.body的功能。
const querystring=require('querystring');module.exports={ urlencoded: function (){ return function (req, res, next){ var str=''; req.on('data', function (data){ str+=data; }); req.on('end', function (){ req.body=querystring.parse(str); next(); }); }; }}
这同样也能实现同样的功能,也许有人会奇怪我写的函数里next();是什么意思,这就是express的链式操作了
链式操作
什么是链式操作?链式操作类似于生活中的流水线。张三做了机顶盒,李四再来上漆,王五最后包装。next()的作用就是传给下一个人。
以post请求为例
server.use(function (req, res, next){ var str=''; req.on('data', function (data){ str+=data; }); req.on('end', function (){ req.body=querystring.parse(str); next();//李四:req.body已经准备好 });});server.use('/', function (req, res){ console.log(req.body); //王五:打印李四准备好的req.body});
阅读全文
0 0
- 初窥nodejs(四) ——express框架
- nodejs开发——express框架学习
- nodejs学习笔记四——express-session
- nodejs开发——mongodb数据库与express框架结合
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- NodeJs——(14)express框架的send()方法简介
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证
- nodeJS链接mysql数据库(express框架)
- NodeJs Express框架安装
- Nodejs Express框架
- NodeJS安装express框架
- nodejs express 框架使用
- nodejs express 框架安装
- nodejs之express框架
- nodejs Express 框架
- nodejs 框架之express
- codeves 苹果树 dfs序+树状数组/线段树
- Sqlite数据库
- redis操作相关
- centos 查看版本的多种方法
- ppt模板网站
- 初窥nodejs(四) ——express框架
- try catch finally的运行顺序
- UIAlertController使用
- 如何从TensorFlow的mnist数据集导出手写体数字图片
- eclipse报错:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素 Console报错: sdk\system-images\android-22\android-wear\ar
- Qt 从入门到精通
- Python编程:从入门到实践(课后习题6)
- 详解安全漏洞的定义以及分类
- 计算机网络五层协议的体系结构各层的主要功能