1.Express是Nodejs开发中一个非常重量级的第三方框架,它对于NodeJS服务端就相当于Jquery对于HTML客户端。
2.Express官网:
www.expressjs.com.cn/
expressjs.com/
3.Express的github地址:https://github.com/expressjs/express
4.Express官网是这样介绍自己的:基于 Node.js 平台,快速、开放、极简的 web 开发框架。
Express一个非常重要的亮点就是它没有改变nodejs已有的特性,而是在它的基础上进行了拓展
5.Express三大核心功能
1.托管静态资源
2.路由
==3.中间件==
Express最为核心的技术和思想,万物皆中间件
bootstrap插件
.下载指令: npm i express
如果你的网站很慢,可以使用npm config set registry registry.npm.taobao.org/来提升速度
就是淘宝帮你把这个东西下载淘宝的服务器上,然后你在淘宝服务器上下载
//1.导入模块 const express = require('express') //2.创建服务器 /* express() 相当于http模块的http.createServer() */ const app = express() //3.接收客户端请求 /*(1)express最大的特点就是自带路由功能,我们无需在一个方法中处理所有请求 * 路由:一个请求路径对应一个方法(函数) (2)在express中,每一个请求都是一个单独的方法 */ app.get('/',(req,res)=>{ //响应客户端数据 //express响应数据 send方法:自动帮我们设置好了响应头,无需担心中文乱码问题 res.send('月下风起') }) app.get('/heroInfo',(req,res)=>{ res.send({ name:'张三', age:20 }) }) //4.开启服务器 app.listen(3000,()=>{ console.log('服务器启动成功') })
//1.导入模块 const express = require('express') //2.创建服务器 /* express() 相当于http模块的http.createServer() */ const app = express() //3.接收客户端请求 //文本类型数据 app.get('/',(req,res)=>{ //响应客户端数据 res.send('月下风起') }) //json格式数据 app.get('/info',(req,res)=>{ //express自动帮我们将js对象转成json响应给客户端 res.send({ name:'张三', age:20 }) }) //文件类型数据 app.get('/login',(req,res)=>{ res.sendFile(__dirname + '/login.html') }) //4.开启服务器 app.listen(3000,()=>{ console.log('服务器启动成功') })
http://expressjs.com/en/starter/static-files.html
//1.导入模块 const express = require('express'); //2.创建服务器 const app = express() //托管静态资源(相当于我们之前写的静态资源服务器) /* 1.当请求路径为/时,express会自动读取www文件夹中的index.html文件响应返回 2.当路径请求为www文件夹中的静态资源,express会自动拼接文件路径并响应返回 */ app.use(express.static('www')) //4.开启服务器 app.listen(3000,()=>{ console.log('success') })
1.在Express官网,有非常多得第三方中间件,它们可以让我们的Nodejs开发变得极其简单
中间件前端的插件,使用后就会给express中的req或者res添加成员
2.所有的第三方框架学习套路都是一样的
3.第三方中间件使用步骤一般都是固定两步
一: 安装 npm i xxxx
(官网复制粘贴)
二: 使用 app.use(xxx)
(官网复制粘贴)
body-parse第三方中间件:解析post请求参数
npm install body-parser
//导入模块 const express = require('express') //创建服务器 const app = express() //使用第三方中间件 /*所有的第三方模块思路都是一样 1.进官网,查文档 2.找examples(使用示例),复制粘贴 a.安装第三方模块:`npm i body-parser` b.使用中间件: arr.use(具体用法请复制粘贴) 使用body-parser中间件之后,你的req会增加一个body属性,就是你的post请求参数 */ //(1)导入模块 const bodyParser = require('body-parser') // parse application/x-www-form-urlencoded //(2)使用中间件 app.use(bodyParser.urlencoded({ extended: false })) //解析json参数 app.use(bodyParser.json()) app.post('/abc',(req,res)=>{ console.log(req.body) //告诉客户端我收到的参数 res.send(req.body) }) app.post('/efg',(req,res)=>{ console.log(req.body) //告诉客户端我收到的参数 res.send(req.body) }) //开启服务器 app.listen(3000, () => { console.log('success'); })