Svelte API代理核心

我不确定这是否属于这里,但是我在开发苗条的应用程序时遇到问题。 在开发过程中,它当前正在独立服务器上运行(遵循使用汇总和sirv的指南),并且将后端API定位在其他端口上。

稍后这些将被合并,但是目前在开发过程中,我看到了许多cors问题(这是有道理的),并且由于我目前无法更改后端,所以我想知道正常的做法是什么得到这个工作吗?

我认为我应该以某种方式创建一个中间件代理,该代理以某种方式与汇总相关联,但是我对如何实现尚不确定。

那么关于我该如何设置的任何建议?

刚刚通过以下测试运行:https://www.npmjs.com/package/local-cors-proxy 但这没有用,因为我需要为特定的提取请求提供credentials: "include",结果是The value of the 'access-control-allow-origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.

zxf880820 回答:Svelte API代理核心

我今天遇到了同一问题,并且在Rollup生态系统中进行了一些调查,看来您可以决定使用允许使用参数proxy的{​​{3}}插件(似乎可以使用rollup-plugin-dev)。使用此插件,您可以配置一个甚至接受自定义功能来处理请求的代理,从而使您可以控制发生的情况。也许这就是您要寻找的。​​ p>

但是,我想保持实时重载在使用koa-better-http-proxy插件设置的应用程序中。但是,由于livereload和dev插件都提供了自己的服务器,因此您只能同时使用一个。

更多研究向我展示了Rich Harris的rollup-plugin-livereload,这是一个普遍的规则,即Rollup用于库开发,而Webpack用于应用程序开发。考虑到这一点,我设置了this article,该配置允许devServerproxy的配置,如其Webpack svelte template中所述。这是我申请的路线。

,

这是因为local-cors-proxy使用cors库,该库的*选项(对应于origin标头)的默认值为Access-Control-Allow-Origin )。

您可以修改local-cors-proxy的本地副本,编辑lib/index.js,将行proxy.use(cors());替换为:

  proxy.use(cors({
    origin: 'http://yourapp.com'    // maybe 'http://127.0.0.1' in your case?
  }));

(甚至更好,将cors定制选项添加到local-cors-proxy并提交PR,以便其他人可以受益;-)

本文链接:https://www.f2er.com/3095187.html

大家都在问