命令行
express --no-view --git umi3-proxy
新文件夹
终端输入命令之后,会自动生成一个umi3-proxy文件夹,它属于一个express项目,是独立的,用来代理目标服务器,,使用yarn 安装依赖,然后yarn start把它跑起来,默认3000端口。
解决跨域
yarn add cors
在app.js里引用cors,然后调用它
var cors = require('cors')
......
app.use(cors())
配置好后可以尝试在前端项目里调/users这个接口,返回respond with a resource,就说明跨域问题解决好了。
加代理去转发拿数据
npm 里面有一个包http-proxy-middleware
yarn add http-proxy-middleware在项目里装这个包。
然后在app.js里加两行配置
var cors = require('cors')
const { createProxyMiddleware } = require('http-proxy-middleware');
......
app.use(cors())
app.use(
'/前缀',
createProxyMiddleware({
target: '目标网站',
changeOrigin: true,
pathRewrite:{
'/前缀':''
}
})
);
token
部分网站有防爬措施,针对不同网站,在自己的请求headers里加上需要携带的东西,一般有access-token、version等