
Express三大核心功能
1.托管静态资源
第二天讲的nodejs实现静态服务器功能在express中只需要一行代码
2.路由
1)express自带路由功能,让Node服务端开发变得极其简单
2)express支持链式语法,可以让代码看起来更加简洁
==3.中间件==
1)Express最为核心的技术和思想,万物皆中间件
2)中间件虽然理解起来有点困难,但是使用起来非常方便,类似于bootstrap插件.
1.下载express
下载指令: npm i express
如果你的网站很慢,可以使用npm config set registry registry.npm.taobao.org/来提升速度
就是淘宝帮你把这个东西下载淘宝的服务器上,然后你在淘宝服务器上下载

2.使用Express
//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('服务器启动成功')
})
3-Express响应客户端数据
//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('服务器启动成功')
})
4.Express托管静态资源
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')
})
5.第三方中间件使用
● 1.在Express官网,有非常多得第三方中间件,它们可以让我们的Nodejs开发变得极其简单
○ 中间件前端的插件,使用后就会给express中的req或者res添加成员
● 2.所有的第三方框架学习套路都是一样的
○ 1.进官网,查文档
○ 2.CTRL+C 与 CTRL+V
● 3.第三方中间件使用步骤一般都是固定两步
○ 一: 安装 npm i xxxx(官网复制粘贴)
● 第三方中间件都需要使用npm安装,可以理解为是一种特殊的第三方模块
○ 二: 使用 app.use(xxx)(官网复制粘贴)
● body-parse第三方中间件:解析post请求参数
○ 安装body-parser : npm install body-parser
○ https://www.npmjs.com/package/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');
})


发布需求
我来说两句