请求代理的方式有很多种,这里说的是使用Node.js中的express生成代理服务
↓ 直接上代码
- 直接使用express
- 创建目录,我这里就起名为 – > proxy-app
生成package.json文件
npm init -y
依赖就这么多 我这里就用yarn了
yarn add express
yarn add axios
yarn add cors
- 创建文件,我这里起名为 – > app.js
const express = require("express")
const axios = require("axios").default
const cors = require("cors")
const app = express() // 变量赋值
// 允许跨域
app.use(cors())
// 接受JSON格式数据
app.use(express.json())
// 接受url编码
app.use(express.urlencoded())
// 接受一个post请求
app.post("/api/v1/proxy",async (req,res)=>{
const {url} = req.body
const result = await axios.get(url)
res.json(result.data)
})
// 监听3009端口
app.listen(3009,()=>console.log("服务器运行在3009端口"))
就这么多,然后打开终端运行就可以
node app.js
下面就可以在项目中使用axios发送请求了
/** post 请求
* 参数一 请求的地址
* 参数二 请求的数据
* 这里在服务器端把需要跨域的地址用url传递过去
* 服务器端使用cors解决跨域问题,返回数据
*/
axios.post("http://localhost:3009/api/v1/proxy",
{url:"https://api-m.mtime.cn/Showtime/LocationMovies.api?locationId=290"})
.then(res=>{
console.log(res)
})
这种方法把,说实话已经很简单了。当然如果你有兴趣可以用express应用程序生成器来完善服务器端代码
但是这种方法等于再写了一个文件。
我们也可以使用webpack-dev-server来配置代理, = =! 我好像写过
这篇文章找到热更新就可以看到