【问题标题】:How to deploy React app (create-react-app) to Back4App?如何将 React 应用程序(create-react-app)部署到 Back4App?
【发布时间】:2018-11-17 13:47:13
【问题描述】:

我用create-react-app 创建了一个 React 应用程序,我想将它部署到 Back4App。

问题是我想部署build 文件夹而不是public 文件夹(我知道这是 Back4App / ParsePlatform 的默认设置)。

到目前为止,我还没有找到任何方法来配置 deploy 以使用除 public 文件夹之外的任何内容。

对此有任何解决方案/解决方法吗?

【问题讨论】:

  • 所有build 所做的只是创建文件并将它们放在开发机器上的构建文件夹中,但它们不必放在服务器上的构建文件夹中;您可以简单地将构建文件夹的内容复制到公用文件夹中。
  • 但它创建了一种循环循环,因为构建过程还使用公共文件夹作为源——最干净的方法是将部署文件夹配置为我们需要的任何内容
  • 我想我只是在这里感到困惑;似乎 back4app 的工作流程假定您将直接从源进行部署,而根本不使用 buildback4app.com/docs/javascript/react-template
  • 你是对的。我只是在仔细检查是否有任何解决方法。 back4app 最好将 public 作为默认值,但如果需要,让我们配置 build(或其他)。

标签: reactjs parse-platform create-react-app back4app


【解决方案1】:

如果您使用 B4A CLI,部署 create-react-app 的最简单方法之一是首先将 build 脚本更改为您的 package.json,如下 sn-p:

...
"scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build && cp -r build/* {{PATH-TO-YOUR-B4A-APP}}/public",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
...

如您所见,您只需将 create-react-app build 文件夹中的所有内容移动到云代码的 public 文件夹即可。之后,转到您的应用路径并运行 b4a deploy

另外,您可以在移动新内容之前添加一个清除所有公用文件夹内容的步骤,但请小心执行此步骤。

否则,您可以将 Back4app Parse-Dashboard 访问到 Cloud Code Functions 并使用浏览器界面将所有构建内容部署在 public 文件夹中。

This 是在 Back4App 中部署的 create-react-app 的现场演示。

【讨论】:

  • 谢谢,我要试试仪表板选项。更改构建脚本似乎只适用于一个部署,因为我们将在第一次运行后丢失公用文件夹中的默认 index.html。对吗?
  • 我已经编辑了 sn-p 以便更好地理解,您将拥有两个不同的项目:一个是您的 ReactJS,另一个是您的 Back4App 应用程序。因此,构建脚本会将所有构建的内容从您的 ReactJS 项目移动到您的云代码公共文件夹,以便您的 ReactJS 项目中的公共文件夹将保持不变。有点困惑,因为文件夹名称相同,但我希望现在更清楚了。
猜你喜欢
  • 2020-10-21
  • 1970-01-01
  • 2017-09-21
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 2019-06-05
  • 2018-09-06
相关资源
最近更新 更多