如何从连接到同一网络的另一台计算机打开create-react-app?

amb*_*bar 19 networking localhost node.js create-react-app

我正在使用create-react-app并在其默认端口localhost:3000中托管,并希望从同一网络上的其他设备访问它.

我得到了我的主机的IP(使用ifconfig)192.168.0.5的IP,并尝试打开192.168.0.5:3000,但这不起作用.

有没有办法实现这个目标?

ssa*_*kaa 24

我遇到了同样的问题,当我禁用私人防火墙时,它对我有用。

在此输入图像描述

或者,如果您想启用私人防火墙,您需要转到此处:

控制面板\系统和安全\Windows Defender 防火墙\允许的应用程序

在此输入图像描述

并启用“更改设置”而不是选中 Node.js 行中的私有复选框

在此输入图像描述


Ela*_*lad 20

简单地运行HOST=0.0.0.0 npm run start
然后,从网络上的另一台设备打开URL。

在您的情况下,192.168.0.5:3000将工作。

设置HOST环境变量的文档

  • 您实际上可能不需要“HOST=0.0.0.0”部分。就我而言,运行正常的启动命令(“npm run start”)有效。我能够在手机浏览器上通过 URL“[我的 Macbook 的 IP 地址]:3000”看到该应用程序。我用[这个](https://apple.stackexchange.com/a/147777/407739)来查找我的MacBook的IP地址。您帖子中的[文档](https://github.com/facebook/create-react-app/blob/main/docusaurus/docs/advanced-configuration.md)在 HOST 部分提到了这种默认行为。 (4认同)
  • 解决了,如果您使用的是webpack,请打开package.json在script.start字段中添加`--host 0.0.0.0`选项。做完了 (3认同)

Fan*_*nor 14

因为我不能发表评论,如果你有react-scripts start而不是作为对 Elad 的补充npm run start

HOST=0.0.0.0 react-scripts start

也能用!


A_J*_*A_J 10

如果您使用的是 Ubuntu,只需运行

$> sudo ufw allow 3000
Run Code Online (Sandbox Code Playgroud)

然后从本地网络使用您的内部 IP 访问您的应用程序。让您的本地 IP 运行:

$> ifconfig
Run Code Online (Sandbox Code Playgroud)

  • Windows 用户呢? (3认同)
  • 谢谢你,它帮助了我 (2认同)

Him*_*tel 5

我使用的是 ubuntu 20.04,我的 Android 和笔记本电脑都连接到同一个 wifi 网络。

步骤1:package.json设置--host=0.0.0.0钥匙server


...

  "scripts": {
    "go": "open http://localhost:3000; npm run server",
    "e2e": "nightwatch --config nightwatch.js",
    "run-e2e": "concurrently -s first -k \"npm start\" \"sleep 15; npm run e2e\"",
    "test": "./node_modules/.bin/concurrently -k 'npm run server' 'npm run e2e'",
    "start": "npm run server",
    "server": "live-server public --host=0.0.0.0 --port=3000 --middleware=./disable-browser-cache.js"
  },

...

Run Code Online (Sandbox Code Playgroud)

步骤2:在ubuntu防火墙中添加端口3000的规则。

sudo ufw allow 3000
Run Code Online (Sandbox Code Playgroud)

第 3 步:现在我可以访问相同的反应应用程序

  • http://localhost:3000/ # 桌面
  • http://127.0.0.1:3000/ # 桌面
  • http://192.168.X.X:3000/# 来自 Android 和桌面(替换为您的内部 IP)


Nis*_*shi -1

您能否关闭防火墙并检查 192.168.0.5:3000。

谢谢