angular - 是否可以在不需要构建整个项目的情况下构建 Angular 子项目?
问题描述
因此,我按照本指南了解如何使用子项目创建应用程序。 https://medium.com/disney-streaming/combining-multiple-angular-applications-into-a-single-one-e87d530d6527
我有一个带有子项目客户端应用程序、用户应用程序等的主应用程序项目。主应用程序包含一个加载子项目的骨架以及每个项目导入的共享模块。
由于这些子项目可以通过“ng build client-app”和“ng build user-app”构建,我想知道是否有可能只需要构建子项目而不是整个主应用程序?我仍然希望能够偶尔构建主应用程序。但是,如果我只对文件中的文件进行更改,比如说客户端应用程序,我只需要将该项目构建到堆栈中即可投入生产。
解决方案
据我所知,如果依赖项发生更改,您必须再次构建项目。但幸运的是,您可以进行增量构建。首先,您要开始构建库。
ng build sharedLibrary --watch
完成后,窗口将保持打开状态。--watch
启动一个新终端并构建附加的子项目。最后你的主应用程序带有--watch
. 当您在 sharedLibrary 中保存文件时,构建将级联所有项目,并且比从头开始构建更快。
也许这对你来说太多了,但我成功地在 package.json 中使用 parallelshell 和等待自动化了该过程。
"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 对共享没有依赖关系)
回到您的问题,它仅用于开发。确保从头开始构建以进行生产。
推荐阅读
- laravel - 在 laravel 的背包中添加具有嵌套关系的列
- function - 如何评估是否在 vimrc 中设置了环境变量
- android - 房间数据库:什么是索引特定列(索引和@Index)以及如何使用它?
- ios - 如何在 UITableView 内自动设置 UICollectionView 高度
- clojure - 无法在 emacs 中的 Cider 中启动 figwheel REPL
- sql - SQL 调节 - 导入数据
- prometheus - kubelet 在普罗米修斯目标中失败
- ruby-on-rails - 在 Rails 中使用与本地和远程相同的形式进行过滤
- laravel - Vuejs/laravel 图片上传接收空数组
- c# - 将方面应用于 .NET Core 2.0 中的多种类型