express.xxx相关的api
express.json()
主要是解析response流(把response是个流,把流解析成字符串)
请求体为raw中的json格式
import {RequestHandler} from "express-serve-static-core";
const express=require('express')
const app=express();
app.use(express.json())
app.use(((request, response, next)=>{
console.log(request.body) response.send('hi') next();
})as RequestHandler)
app.listen(3000,()=>{ console.log('开始监听') })
express.static()
做一个静态文件处理,把yyy下面的东西都挂到路由上
get请求:http://localhost:3000/aaa.html
就能得到tt/index.html内的内容
express.urlencoded()
把请求路径后面拼接的内容用 request.body获取到
app.xxx相关的api
app.set和app.get
set用于存储全局变量,也有一些内置的set
app.set() 设置相关内容必须放在 所有中间件 第一位
下面这个是设置router内是否大小写敏感(get内)
import {RequestHandler} from "express-serve-static-core";
const express=require('express')
const app=express();
app.set('case sensitive routing',true);//设置大小写敏感
app.get('/style.css',((req, res, next)=>{
res.send('style.css')
})as RequestHandler)
app.listen(3000,()=>{ console.log('开始监听') })
模板引擎和使用的语言?这三个常用
在views(路径)中找 用 view engine(什么语言)去解析
ejs和pug也是一种写html的方法(一种语言)
app.local.title
设置app内的全局变量(有时中间件在不同文件夹内)
和app.set作用相似,但不建议用app.set() app.set用于设置全局特有的默认值即可
import {RequestHandler} from "express-serve-static-core";
const express=require('express')
const app=express();
app.locals.aaa='小明'
app.use(((request, response, next)=>{
console.log(request.body)
console.log(request.app.locals.aaa)//输出小明 r
esponse.send('hi')
next();
})as RequestHandler)//这个函数有可能在不同文件夹下
request.xxx
request.params
获取传参
请求:http://localhost:3000/style.css:1
即可获取:{ id: ':1' }
只包含url中定义的参数
import {RequestHandler} from "express-serve-static-core";
const express=require('express')
const app=express();
app.get('/style.css:id',((req, res, next)=>{
console.log(req.params)
res.send('style.css')
})as RequestHandler)
app.listen(3000,()=>{ console.log('开始监听') })
request.query
获取查询主体?
request.xhr
request.acceptsLanguaes
获取是否接受某种语言(写在请求的请求头中)
respone.xxxxx
给一个api不同的输出格式
send和write不能一起用,send是非流式的,write是流式 的
请求时这样设置
router.xxxx
方便快速建立路由
express generator