繁体   English   中英

如何在CRA v2中将代理值从package.json移动到setupProxy.js?

[英]How to move a proxy value from package.json to setupProxy.js in CRA v2?

自从最近发布CRA(创建React App)v2以来,现在可以将代理设置从package.json移到setupProxy.js 我的问题很简单:如果我只想一直使用http://127.0.0.1:5000我的setupProxy.js应该setupProxy.js什么样? 我需.env因为如果一切正常(到目前为止没有运气),我可以将其替换为开发/生产环境的.env文件中的变量。 但是到目前为止,我只得到a或b:

a)CORS错误

b)由于http请求而返回了我的应用程序的index.html

这是我尝试过的setupProxy.js版本之一的示例:

const proxy = require('http-proxy-middleware');

module.exports = function(app) {
  app.use('/', proxy({target: 'http://127.0.0.1:5000', changeOrigin: true}));
  app.use('/*', proxy({target: 'http://127.0.0.1:5000', changeOrigin: true}));
  app.use(proxy({'/', target: 'http://127.0.0.1:5000', changeOrigin: true}));
  app.use(proxy({'/*', target: 'http://127.0.0.1:5000', changeOrigin: true}));
};

我尝试了各种版本的app.use行,我在这里发布了几个示例。

我通常一次尝试一个app.use行,但也尝试了多行。

每次更改文件时,我都会重新启动react app。

我还尝试使用process.env.REACT_APP_BACKEND_BASEURL而不是'http://127.0.0.1:5000' ,这是我的最终目标。

所以尝试

app.use(proxy('/**', { target:'http://127.0.0.1:5000', changeOrigin: true }))

如果我没记错,使用setupProxy.js仅对本地开发setupProxy.js ,但我也需要它在实时/部署服务器上工作,因此我最终根本不使用setupProxy.js我将其他后端URL保存为REACT_APP_BACKEND_BASEURL在不同的变量.env文件(loclahost URL .env.development文件,并在远程URL .env.production文件),并取代了前端JavaScript代码来使用所有出现process.env.REACT_APP_BACKEND_BASEURL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM