使用create-react-app、webpack4.3、axios
我在服务器和浏览器中都记录了控制台
process.env.PUBLIC_URL
,但我看到的只是""
。那么,在发出 GET 请求时,当在 console.log 中我只看到空字符串时,如何选择服务器的正确 url?
我在开发者工具的“网络”选项卡中看到了正确的网址。
在有关 环境变量的 create-react-app 文档中他们提到了这一点两次
注意:您必须创建以 REACT_APP_ 开头的自定义环境变量。除 NODE_ENV 之外的任何其他变量都将被忽略,以避免意外暴露机器上可能具有相同名称的私钥
所以最奇怪的部分是当记录
process.env.PUBLIC_URL
时,它是""
而不是undefined
。
但是您的请求按预期工作,而
rocess.env.PUBLIC_URL
是一个空字符串,所以我唯一能想到的是您在 package.json 文件中使用基本 URL 字符串设置了 。"proxy": "http://localhost:4000",
要告诉开发服务器将任何未知请求代理到开发中的 API 服务器,请在 package.json 中添加代理字段
这样,当您在开发中 fetch('/api/todos') 时,开发服务器将识别出它不是静态资产,并将您的请求代理到 http://localhost:4000/api/todos 作为后备。