node.js - 如何从本地网络中的另一台电脑访问我的 React 应用程序?

标签 node.js reactjs raspberry-pi webpack-dev-server

背景

我在我的 rasperrypi 上托管一个 React 应用程序网站,到目前为止,当我使用 create-react-app 时,我已经能够访问该应用程序网站:我可以从网络中的计算机以及树莓派访问该应用程序。在 raspberrypi 上,我使用 localhost:3000 访问该网站,并从计算机上从 192.x.x.x:3000 访问它,它可以正常工作。 然而,由于我意识到使用 create-react-app 时无法运行一些树莓派 native 模块,我决定手动安装和设置 react 以及 babelwebpack (希望它能起作用)。

问题

使用手动设置,当我从 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/

相关文章:

javascript - Node.js- "TypeError - res.setHeader is not a function"

javascript - 如何从 Istanbul 尔报道中忽略 node.js 中所需的文件

node.js - Mongodb插入函数语法

javascript - React 在 <div> 上添加一个 onChange ,当其中的 &lt;input/> 发生变化时会触发

python 程序作为 systemd 运行比从终端运行慢

javascript - NodeJs forEach 请求 promise 在返回之前等待所有 promise

javascript - React : Uncaught Invariant Violation: ReactDOM. render():无效的组件元素

javascript - 使用 mapDispatchToProps 避免 no-shadow eslint 错误

c++ - 如何将 nonfragile-abi 标志传递给 cmake?

opencv - 在树莓派 3 上构建 opencv 时出错