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环境变量的文档。
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)
我使用的是 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)