前端跨域问题一直以来都是非常头疼的问题,有时候想不借助后端,自己渲染个网络接口,太难了。
就拿必应壁纸来说,已知接口地址,但由于跨域,前端无法渲染数据。
全能圣手 Vercel 利用 vercel.jsonCORS 就可以解决这个问题。

编写代码

新建目录文件,改写网络接口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const axios = require('axios')

module.exports = async (req, res) => {
const start = req.query.start ? req.query.start : 0
const count = req.query.count ? req.query.count : 1

const result = await axios({
method: 'get',
url: `http://cn.bing.com/HPImageArchive.aspx?format=js&idx=${start}&n=${count}`
})

res.json({
status: 'ok',
data: result.data
})
}

package.json 中引入 axios 模块。

项目根目录新建 vercel.json 文件,启用 CORS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"name": "realwds-api",
"version": 2,
"routes": [
{
"src": "/",
"headers": {
"cache-control": "no-cache, no-store, must-revalidate",
"Access-Control-Allow-Origin": "*"
},
"dest": "/api"
},
{
"src": "/bing",
"headers": {
"cache-control": "no-cache, no-store, must-revalidate",
"Access-Control-Allow-Origin": "*"
},
"dest": "/api/bing/"
}
]
}

推送 GitHub 仓库,用 Vercel 部署指定项目。

大功告成

接口预览

项目地址

参考文献

《 Runtime Node.js 》 - Vercel
《 Enabling CORS using vercel.json 》 - Vercel