在 Azure 上部署 React 项目

IT技术 node.js azure reactjs deployment web-deployment
2021-04-28 12:45:57

我想在 azure 云上部署我的 React 项目。我已经将它部署在 heroku 上,在那里部署非常容易。我只需要执行 git push heroku master 就可以将它部署在 heroku 上。但我对如何在 azure 上做到这一点一无所知。所以我的项目中有一个 bulid 目录,每次运行 gulp 命令时都会生成它。它有所有的构建文件。任何人都可以指导我如何进行天蓝色?

这是我的项目结构

在此处输入图片说明

2个回答

有很多选项可以将您的应用程序部署到 azure 网站/Web 应用程序,例如 FTP、本地 Git 存储库和 Visual Studio IDE 等。我不是 React 专家,这里为了简单起见,我只使用create-react-app工具和FileZilla将我的 React 应用程序部署到 Azure Web 应用程序。以下是步骤。

基本上,创建和构建 React 应用程序就像

npm install -g create-react-app

create-react-app my-app
cd my-app/

npm run build

现在,该应用程序已准备好部署!让我们进入Azure 门户并创建一个新网站来托管我们的 React 应用程序。

输入唯一的应用服务名称、资源组的有效名称和新的服务计划。然后点击保存

在此处输入图片说明

要启用 FTP 发布,请单击APP DEPLOYMENT菜单下的部署凭据保存凭据并记下您创建的用户名和密码。

在此处输入图片说明

接下来,单击Properties,然后复制FTP HOST NAMEUSER

在此处输入图片说明

最后,通过 FileZilla 连接到 Azure Web 应用程序,然后将my-app/build之前创建文件夹的全部内容上传/site/wwwroot/Azure 网站上文件夹中。

在此处输入图片说明

现在我们可以通过 URL: 在浏览器中访问该应用程序http://aaronreacttest.azurewebsites.net/,它应该显示默认页面。

在此处输入图片说明

除了 Aaron 提供的步骤之外,我还必须添加具有以下内容的 web.config 文件。它由其他技术人员在他们的博客和一些论坛中提供。

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="React Static Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>