首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CRA中设置用于快速刷新的CORS标头

在CRA中设置用于快速刷新的CORS标头
EN

Stack Overflow用户
提问于 2021-06-23 13:59:27
回答 1查看 101关注 0票数 0
代码语言:javascript
复制
{
  "react": "^17.0.1",
  "react-scripts": "4.0.3"
}

我的React应用程序是在开发中跨域加载的,我已经将我的React应用程序配置为使用__webpack_public_path__跨域加载捆绑包块。

例如:

https://test.local -> embeds https://host.docker.internal:3002/static/js/bundle.js -> loads https://host.docker.internal:3002/static/js/0.chunk.js上的页面。

问题是在热加载过程中,更新的JSON也是从跨域加载的,导致CORS错误:

由于CRA不允许配置访问webpack-dev-server,除了通过FAST_REFRESH=false环境变量禁用快速刷新之外,我想不出其他方法来解决这个问题。

有没有人有更好的主意或解决方案?

EN

回答 1

Stack Overflow用户

发布于 2021-06-23 14:09:26

我已经检查了你的CORS问题,当开发人员在不同的领域工作时,这总是面临的问题。

代码语言:javascript
复制
const proxy = require("http-proxy-middleware");

module.exports = app => {
  app.use(
    "/api",
    proxy({
      target: "http://localhost:4000",  // target server address and port
      changeOrigin: true
    })
  );
};

代码语言:javascript
复制
const proxy = require("http-proxy-middleware");

module.exports = app => {
  app.use(
    "/api",
    proxy({
      target: "http://localhost:4000",
      changeOrigin: true,
      pathRewrite: {
        "^/api": "/api/v1"
      }
    })
  );
};

如果您的web应用程序需要从不同的域请求数据,并且您希望开发环境模拟从同一个域提供前端和后端服务的生产配置,请确保查看Create React App的proxy和src/setupProxy.js选项。他们会让你的应用程序开发变得更容易!

我希望我的经验能对你和其他人有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68094274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档