express路由

路由

const express =require("express")
let app = express()
//监听端口					//路由
app.listen(3000)
let obj={name:"T",age:18,sex:"男"}
app.get("/",("req","res")=>{
	res.send(JSON.stringify(obj))				//会根据内容自动选择编码模式
})
app.("index",("req","res")=>{
	res.send("200")				//传数字时会当成 Status,不建议传数字
})

中间件

app.use()					//监听所以请求
let middleware =("req","res","next")=>{
	req.goudan="狗蛋";
	next(); 	//一定要写next,不然请求不会停止
}  				
app.use("/",middleware);	
//get也有中间件的特性又可以写第三个参数next,只不过通常不写
app.get("/",("req","res")=>{res.send("你好!")})		//只有写了next才会执行下一个中间件,
							//多个中间件只能有一个 rend,不然不能发送数据了不过代码还会执行

默认中间件

//使用中间件处理请求的数据  给req添加body属性
app.use(express.json() );	
//express.urlencoded 需要传一个参数(布尔值)
app.use(express.urlencoded({extended:true}) );
app.get("/",("req","res")=>{req.body)})
//设置静态资源文件夹
express.static(__dirname + 'public');
app.use(express.static("public"))
//设置公共模板文件夹
app.set('views', path.join(__dirname, 'views'));
//设置模板类型
app.set('view engine', 'ejs');

子路由

let router = express.Router();  //监听router规则
router.get("/",("req","res")=>{res.send("路由:/")});
router.get("/main",("req","res")=>{res.send("路由:/main")});
//监听index,基于index目录监听
app.use("/index",router)

app.use("/index",require("监听规则的路径"))//子路由也可以用中间件

app.all				//可以监听所有请求
app.param			//请求过来的信息    
//能同时处理get请求,和POST请求
app.use((req,res,next)=>{res.set("Access-Control-Allow-Roigin","*");next()});//中间件允许跨域
app.route("/index")
	.get((req,res)=>{res.rend("这是GET请求")})
	.post( (req,res)=>{res.rend("这是POST请求")})
app.get(/index(\d+)/,(req,res)=>{
		console.log(req.params[0]);		//路径正则的子项
		res.send(req.url)
} )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值