在发出 GET 请求时,在 console.log 中我只看到空字符串时,如何选择服务器的正确 url?

问题描述 投票:0回答:1

使用create-react-app、webpack4.3、axios

我在服务器和浏览器中都记录了控制台

process.env.PUBLIC_URL
,但我看到的只是
""
。那么,在发出 GET 请求时,当在 console.log 中我只看到空字符串时,如何选择服务器的正确 url?

我在开发者工具的“网络”选项卡中看到了正确的网址。

reactjs webpack frontend create-react-app
1个回答
1
投票

在有关 环境变量的 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 作为后备。

© www.soinside.com 2019 - 2024. All rights reserved.