在Azure Linux Web app上为reactjs应用程序安装节点_模块的最佳实践

在Azure Linux Web app上为reactjs应用程序安装节点_模块的最佳实践,reactjs,azure,npm,next.js,github-actions,Reactjs,Azure,Npm,Next.js,Github Actions,我有一个react(特别是NextJS)web应用程序运行在Linux Azure web应用程序服务器上。我已经通过GitHub操作部署并正常工作。但是,我在寻找部署node_模块的最有效方法时遇到了一些问题 这是我试过的 我已经在GitHub中运行了安装和构建操作,并将包作为zip工件进行了部署。但是,由于节点_模块的原因,该文件非常庞大,部署需要10分钟以上的时间 我已经创建了一个postDeploy脚本,在运行npm安装的部署之后运行。不确定这是否是最好的方法,所以我回复了这个 对于s

我有一个react(特别是NextJS)web应用程序运行在Linux Azure web应用程序服务器上。我已经通过GitHub操作部署并正常工作。但是,我在寻找部署node_模块的最有效方法时遇到了一些问题

这是我试过的

  • 我已经在GitHub中运行了安装和构建操作,并将包作为zip工件进行了部署。但是,由于节点_模块的原因,该文件非常庞大,部署需要10分钟以上的时间
  • 我已经创建了一个postDeploy脚本,在运行
    npm安装的部署之后运行。不确定这是否是最好的方法,所以我回复了这个
  • 对于startup命令,我让azure运行
    npm运行start:prod
    。我考虑将其更改为
    npm安装&npm运行开始:prod
    。我也不确定这是否是个好主意
  • 到目前为止,我所确定的是,我只是手动进入服务器,在部署后运行
    npm install
    。但这对CI/CD不起作用
我读到azure kudu可能会在wwwroot文件夹中检测package.json,并自动安装依赖项,但我没有看到这项工作,也找不到任何相关文档。到目前为止,我的最佳想法似乎是在启动应用程序之前更改启动命令以运行安装,但我不确定


有什么建议吗?

GitHub Action和Azure DevOps在这方面应该没有太大区别。但在管道上实际应该做的是运行
nom run build
命令并只发布生成的输出


请看一看。

对,在本例中,
npm run build
是下一个构建,它将创建一个包含构建输出的.next/文件夹。但是,我们仍然需要在azure服务器上部署或安装node_模块。