【问题标题】:Uploading React app to an external server将 React 应用上传到外部服务器
【发布时间】:2019-07-12 18:19:05
【问题描述】:

我是 React 世界的新手。

几天前,我开发了我的第一个简单的 React 应用程序,构建了该应用程序并将其上传到我的 GoDaddy 主机。我认为这就足够了,因为我在主机的根目录中有一个 index.html,并且认为一旦我在浏览器中打开我的域,构建就会工作。

不幸的是,事实证明它不起作用。生活中没有什么是容易的。

经过数小时的谷歌搜索,我发现人们将他们的 React 应用程序上传到 Heroku 等特殊服务。我找到了一个教程并成功地在 Heroku 上发布了我的 react 应用程序。但老实说,我仍然不知道为什么我的应用无法在 GoDaddy 服务器上运行。

当我为 Heroku 准备我的应用程序时,一个步骤是使用 express.js 创建一个 server.js 文件。

这是否意味着每个 React 应用程序都需要这样的服务器文件才能工作?如果我想在 GoDaddy 或任何其他托管服务器上使用我的 React 应用程序怎么办?有可能吗?

【问题讨论】:

  • 应用程序是否依赖于 Node.js?还是您构建它以便可以独立提供服务?
  • React 应用程序没有任何服务器文件,您只需要将服务器部署在某个地方并可以将此服务器用于您的应用程序。
  • @Andreas,这只是一个简单的旅程规划器应用程序,它向 TFL(伦敦交通局)发送 API 请求并将结果打印到 UI。
  • @Waheed,抱歉,我不明白。你说 React 应用程序不需要任何服务器文件。但是然后您添加“您需要在某处部署您的服务器”。现在我很困惑。
  • @user1941537 你知道axios吗?

标签: reactjs deployment hosting


【解决方案1】:

好的,我发现了问题所在。

原来 index.html 中的路径并不反映构建文件夹结构。

在 index.html 中,我不得不像这样更改引用:

/static/css/2.567.chunk.css

到这里:

./static/css/2.567.chunk.css

在 CSS 文件中,我需要像这样更改路径:

/static/media/tree.6098.jpg

到这里:

../media/tree.6098.jpg

之后,您只需上传文件,一切正常。

现在的问题是,为什么这些路径不应该是这样?

【讨论】:

  • 这只是意味着你的构建配置错误
  • @Andreas,可能是我做错了什么。正如我所提到的,我是 React 世界的新手。我使用 create-react-app 创建了我的应用程序。没有更改任何设置。 npm 开始工作。为了构建应用程序,我做了 npm run build。将构建文件夹的内容上传到我的 GoDaddy 分片托管。但如前所述,index.html 中的 JS 和 CSS 文件的路径不反映构建文件夹结构,因此无法找到。难道我做错了什么?我错过了什么吗?谢谢
猜你喜欢
  • 2014-12-09
  • 2017-11-23
  • 2011-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
相关资源
最近更新 更多