作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Facebook 的 create-react-app。当我启动网络客户端时,我在控制台中看到:
You can now view web-client in the browser.
Local: http://localhost:3000/
On Your Network: http://192.168.1.107:3000/
问题是我的 Web 客户端使用 localhost 连接到 api 服务器,这意味着我无法使用不同设备上的 IP 地址来调试问题。
env-variables.js:
export const ENV = process.env.NODE_ENV || 'development';
const ALL_ENV_VARS = {
development: {
GRAPHQL_ENDPOINT_URI: 'http://localhost:4000/graphql',
},
....
我尝试用以下内容更新上面的内容:
GRAPHQL_ENDPOINT_URI: `http://${process.env.ip}:4000/graphql`,
这不起作用,process.env.ip
返回未定义。如何让上述 GRAPHQL_ENDPOINT_URI 使用 create-react-app 获取的 IP 地址?
最佳答案
尝试将以下内容添加到客户端 package.json:
"proxy": "http://localhost:4000/",
然后您可以离开
http://localhost:4000
从客户端指向 API 服务器的任何 URL。您只需将这些地址称为
/graphql/<any additional URL data>
我对 Node/Express 后端和 React 前端执行了相同的操作 - 我使用以下内容解析了 server.js 中的/api 部分:
//Use our router configuration when we call /api
app.use('/api', router);
只需将/api 替换为/graphql 即可。
查看这篇文章以获取进一步的解释。希望这有帮助!
关于node.js - 如何让 create-react-app 使用 IP 连接到我的 api 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48938767/
我是一名优秀的程序员,十分优秀!