CSR的问题

语雀API不允许跨域请求。如何CSR

在网页直接请求语雀 API 不被允许:报跨域错误:

CORS error: No 'Access-Control-Allow-Origin' header is present on the requested resource

解决方案:

  1. 排除的方案:用一个后端去请求语雀 API. 但这样等于白用 Serverless 架构了
  2. 目前采用的方案:把+page.js都改成+page.server.js,所有对语雀 API 的请求都在服务端进行。但是像我这样部署在 Vercel 上的话,就会造成数据从国内到国外再回国内一共跑两次。不划算
  3. 可能的优化:给在 Vercel 部署的应用的域名套一个 CDN,但这样本质上并没有加快,虽然减少了对 Vercel 的请求,还增加了 CDN 的费用,而且这样的速度是靠实时性换的(虽然对博客来说实时性也不太重要)
  4. 准备采取的方案:给语雀 API 套一个 CDN,在 CDN 配置里写上 token,然后就可以 CSR 了。相当于是把方案一改成了用现有的云服务搞定了。我觉得这很符合 Serverless 的哲学🌹