背景
我在我的 rasperrypi
上托管一个 React 应用程序网站,到目前为止,当我使用 create-react-app
时,我已经能够访问该应用程序网站:我可以从网络中的计算机以及树莓派访问该应用程序。在 raspberrypi 上,我使用 localhost:3000 访问该网站,并从计算机上从 192.x.x.x:3000 访问它,它可以正常工作。
然而,由于我意识到使用 create-react-app
时无法运行一些树莓派 native 模块,我决定手动安装和设置 react
以及 babel
和 webpack
(希望它能起作用)。
问题
使用手动设置,当我从 raspberrypi 上的本地主机访问该 Web 应用程序时,我可以看到它,但我无法在我的计算机上访问它(与 raspberrypi 位于同一 LAN 中);我尝试将端口切换到 3000,但结果是一样的,无法从计算机访问它...有人知道有什么可以帮助的吗?
感谢您的关注!
最佳答案
当您使用 Webpack-Dev-Server 时,您可以使用 allowedHosts
选项或将 host
选项定义为 0.0.0.0
。以下两个示例均来自 Webpack Docs .
允许的主机
module.exports = {
//...
devServer: {
allowedHosts: [
'host.com',
'subdomain.host.com',
'subdomain2.host.com',
'host2.com'
]
}
};
主机定义
module.exports = {
//...
devServer: {
host: '0.0.0.0'
}
};
最后的配置也可以通过使用 CLI 来实现:
webpack-dev-server --host 0.0.0.0
生产模式
在生产模式下,例如express
,您可以使用以下实现之一。您可以在SuperUser上阅读更多内容。 .
listen(3000, '192.x.x.x', function() {}
listen(3000, '0.0.0.0', function() {}
无法访问的原因是服务器绑定(bind)了环回地址(127.0.0.1)。
关于node.js - 如何从本地网络中的另一台电脑访问我的 React 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56859258/