【问题标题】:Is it possible to build Angular sub-projects without needing to build the entire project?是否可以在不需要构建整个项目的情况下构建 Angular 子项目?
【发布时间】:2021-11-03 19:05:59
【问题描述】:

所以,我按照本指南了解如何创建带有子项目的应用程序。 https://medium.com/disney-streaming/combining-multiple-angular-applications-into-a-single-one-e87d530d6527

我有一个带有子项目客户端应用程序、用户应用程序等的主应用程序项目。主应用程序包含一个加载子项目的骨架以及每个项目导入的共享模块。

由于这些子项目可以通过“ng build client-app”和“ng build user-app”来构建,我想知道是否可以只需要构建子项目而不是整个主项目-应用程序?我仍然希望能够偶尔构建主应用程序。但是,如果我只对文件进行更改,比如说客户端应用程序,我只需要将该项目构建到堆栈中即可生产。

【问题讨论】:

  • ...ng add @nrwl/workspace...
  • 嘿,我没有否决你的问题......并确保可以特别构建你的 lib / 单独应用程序(在你 angular.json - 每个定义 - 所以你构建 @987654324 @ .. 但实际上,Nx 带来了很多额外的糖 ..)
  • 所以,我有延迟加载的模块和像延迟加载模块一样的子项目。我只想能够构建模块或子项目,以便它创建 9.0a9be675------------.js 文件,以便我可以将该文件推送到堆栈中以进行生产和下次需要该模块时,它会加载文件的较新版本。

标签: angular yaml subproject


【解决方案1】:

据我所知,如果依赖项发生更改,您必须重新构建项目。 但幸运的是,您可以进行增量构建。 首先,您要开始构建库。

ng build sharedLibrary --watch

显示完成后,窗口将保持打开状态。启动一个新终端并构建带有--watch 的子项目。 最后你的主应用程序使用--watch。 当您在 sharedLibrary 中保存文件时,构建将级联所有项目,并且比从头开始构建更快。

也许这对你来说太多了,但我成功地在 package.json 中使用 parallelshell 和 wait-on 自动化了该过程。

"build-watch": "parallelshell \"ng build shared --watch\" \"ng build Root --watch\" \"wait-on -d 2000 -w 4000 ./dist/shared/package.json && ng build ExampleProject\""

(注意Root对shared没有依赖)

回到你的问题,它只是为了开发。确保从头开始构建以进行生产。

【讨论】:

  • 我的问题实际上是关于为生产而构建的。我希望只构建已更改为生产的子项目,而无需构建整个主应用程序。
猜你喜欢
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多