use()处理子路由
之前我们会在一个js文件中接受很多请求,就很乱
如above下的子路由
app.get("/above/first",(req,res)=>{
res.send("第一个分页")
})
app.get("/above/second",(req,res)=>{
res.send("第而个分页")
})
app.get("/above/third",(req,res)=>{
res.send("第三个分页")
})
那么下面我们可以利用中间件的方式,将above下的子路由写在一个专门的js文件中
首先创建一个above的文件夹

在above.js中写
const express = require("express");
//创建子路由
const router = express.Router()
// 后续子路由都可以写在这里
// 后续子路由都可以写在这里
router.get("/first",(req,res)=>{
res.send("第一个分页")
})
router.get("/second",(req,res)=>{
res.send("第而个分页")
})
router.get("/third",(req,res)=>{
res.send("第三个分页")
})
//将路由暴露出去
module.exports = router
然后前面的主路由中就可以写
//关于路由
app.use("/above",require("./router/above"))
处理所有方式的请求 all()
请求的方式有get和post两种,那么express提供了一个all()方法可以接收get和post的请求
一,解决跨域问题
什么是跨域
浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。
跨域也是浏览器的一种安全阻止,后端访问后端是不会出现跨域这种说法的
第一种情况别人访问我的,我希望开放给别人,报错如下:
image.png
解决方法:
1.安装cors包 npm i cors -S
2.使用跨域中间件
const express = require("express")
const cors = require("cors")
let app = express();
//监听1111端口
app.listen(1111)
//跨域中间件
app.use(cors())
app.post("/test",(req,res)=>{
res.send({
code:0,
msg:"请求成功"
})
})

第二种情况我希望访问别人的,但是出现跨域了,怎么解决
我朝我自己的后端发请求,用自己的后端请求别人的后端,得到数据然后返回给前端
网友评论