【问题标题】:Is there anyway that I can get the running port?无论如何我可以获得正在运行的端口吗?
【发布时间】:2020-12-08 13:04:51
【问题描述】:

我想在我的 React 应用程序中显示本地服务器的运行端口,有没有办法以编程方式获取它?如果某些东西已经在 create-react-app 的默认端口上运行,则运行端口可能会延迟。

【问题讨论】:

  • 我不认为这部分是由 React 处理或访问的。 create-react-app 为您提供前端构建管道并附带实时开发服务器,但您的反应代码将无法访问服务器配置。 Next.js 可能会在服务器上呈现反应。
  • @AkashSarode 是有道理的,我认为有一些方法可以做一些类似于 REAC_APP 的方法来获取环境变量。还是谢谢??????

标签: javascript reactjs create-react-app


【解决方案1】:

create-react-app 是一个 React 工具链,它将一些有用的工具打包在一起,让您无需任何初始设置即可投入开发。本地开发服务器是该工具链的一部分,它的唯一目的是为您的 react 应用程序所需的静态文件提供服务。

当然,create-react-app 允许您使用环境变量配置一些选项,但它并不打算用作您的 react 应用程序的后端。

您可以使用自己的后端通过编写端点来获取服务器端口来实现这一点,但对于本地服务器,我认为这是不可能的。

【讨论】:

    【解决方案2】:

    此功能不可用,因为 React 应用程序和本地服务器是独立运行的。
    但是,当您启动服务器时,您的服务器端口将可用。因此,您可以使用另一个 API 来简单地获取服务器的端口并相应地显示。
    服务器上有这样的东西。

    app.get('/server/port', (req, res) => {
      return res.json({port: server.address().port})
    })
    

    你的服务器在哪里启动

    const server = app.listen(20000)
    

    在 react 应用程序中,您可以像这样发出fetch 请求

    fetch('http://localhost:20000/server/port')
      .then(response => response.json())
      .then(data => console.log(data));
      // you will have the port no. in data.port
    

    这会对你有所帮助。

    【讨论】:

    • 你能告诉我如何使用另一个 API 获取端口吗?提前谢谢?
    • @MatheusSolha 我已经修改了我的答案。请检查
    • 您需要为此实现不同的后端。问题是关于获取本地开发服务器的端口。
    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 2014-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 2011-01-31
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多