Angular 7 - 单独部署工作区应用程序(项目)

Posted

技术标签:

【中文标题】Angular 7 - 单独部署工作区应用程序(项目)【英文标题】:Angular 7 - deploy workspace applications (projects) in isolation 【发布时间】:2019-10-04 11:03:03 【问题描述】:

在我的 cli 生成的工作区中,我有一个根应用程序,它可以延迟加载许多应用程序(位于项目文件夹中)。

当我运行“ng build root-application”时,所有块都放在 dist/root-application 文件夹中,我可以将此文件夹复制到我的服务器,我们可以开始了。

但是,这些应用程序在其开发生命周期中几乎从未处于同一阶段(仍在开发中,有些正在 QA 中),我希望能够单独部署它们,而不是必须部署整个网站。

有人有这方面的策略吗?

【问题讨论】:

【参考方案1】:

所以,我最终的解决方案是创建库(ng generate library)而不是应用程序(ng generate application)。 然后我可以单独将我的库发布到 NPM。 然后我可以部署我的整个站点,但只需升级我的 package.json 文件中所需的库,我就能够单独“部署”站点的所需部分。

【讨论】:

【参考方案2】:

好的,手动完成所有这些工作将是一个繁琐的过程,有一些工具可以帮助自动化这项工作。 Nx (nrwl.io) 可以帮助您解决问题,它使用 Monorepo 方法,您可以在一个工作区中构建多个 angular/react 应用程序/库,所有这些应用程序都可以相互独立。开始click here。了解为什么要使用 Nx click here。 Nx 由 Victor Savkin(核心 Angular 团队成员,他为 Angular 设计了许多功能)设计

【讨论】:

Nx 工具集有多好,我怎么强调都不为过——任何从事企业 Angular 项目的人都应该检查一下。从 devops 的角度来看,他们提供的受影响的:xxx 脚本确实是管理复杂的多应用程序/库生态系统的下一个级别。

以上是关于Angular 7 - 单独部署工作区应用程序(项目)的主要内容,如果未能解决你的问题,请参考以下文章

在同一个Angular Workspace中将多个Angular应用程序部署到Azure

Angular 7 应用程序中的 AWS Codepipeline 部署错误

使用war将spring-boot和angular 7应用程序部署到tomcat 8.5中

如何使用 grunt 部署 Angular 2?

Angular 7 中的 $location.search() 等效项

使用 Angular 2 前端部署在 Heroku Java 应用程序上