Angular小博客

分享让你更聪明

[译2019]在 Angular CLI 中尝试 Bazel 的选择加入预览

浏览:3次 日期:2024年10月19日 23:00:51 作者:admin

在 Google,我们使用名为Bazel的工具构建所有软件。在过去的 12 年多里,我们一直在使用它来构建任何规模的项目 – 从小型内部应用程序到 Gmail、Google Drive 和 Google Cloud Console 等大型应用程序。

由于其特性——封闭性、并行性和增量性,Bazel 能够实现快速构建,这与我们所做的更改成正比,仅重建受更新文件影响的工件。

在过去的两年里,我们一直致力于让 Google 之外的 Angular 开发人员能够使用相同的工作流程并加快构建速度。在 Angular CLI 版本 8 中,我们很高兴推出可选的 Bazel 预览版,它允许您使用您习惯的相同 Angular CLI 命令透明地使用 Bazel!您可以在下面找到Alex Eagle的 ng-conf 选择加入预览版的官方公告:

目前状态

我们一直在与 Google 的Bazel 团队密切合作,以减小 Bazel 二进制文件的大小并改进其与外部 Node.js 生态系统的集成。

在过去的几个月里,我们引入了CLI 构建器,它允许我们更改一些内置 Angular CLI 命令的实现并创建新命令。使用@angular/bazel ,我们创建了ng build 、 ng serveng test命令的新实现,这些命令在内部调用 Bazel。这样,我们就可以使用我们已经熟悉的命令行界面,而不必了解 CLI 在幕后使用的构建工具!

今天,我们支持标准 Angular CLI 项目、基于路由的代码分割、Sass、第三方依赖项等等!如果您尝试选择加入预览,则可以期待以下一些功能:

2019 年,我们将重点改进 CLI 中 Bazel 功能提供的功能集。我们正在研究的选择加入预览的一些限制是:

我还能从巴泽尔那里得到什么

Bazel 提供的一些有吸引力的功能包括:

您今天可以通过手动管理构建配置来尝试所有这些功能。

我如何选择加入

在尝试 Bazel 的选择性加入预览之前,请确保您使用的是 Angular CLI 版本 8 或更高版本。

要在新项目中尝试 Bazel 与 Angular CLI 集成,您可以提供自定义原理图集合:

// new-bazel-project.sh 
npm install -g @angular/bazel
ng new my-app --collection=@angular/bazel

一旦您使用 Bazel 原理图创建了新项目,您就可以按照您习惯的方式运行ng serveng build !有一些区别:

请记住,第一个生产构建可能需要比预期更长的时间,直到 Bazel 填充其缓存。 Bazel 还将执行一些与我们即将推出的与 npm 更好的互操作性的持续努力相关的额外操作。

有关更多信息,请查看 angular.io 上的Bazel 指南

给我们反馈

我们专注于提供您今天所了解的 Angular CLI 功能,但使用 Bazel 实现更快的增量构建。我们正在努力扩展支持的功能集,直到达到与 CLI 的当前功能相当的水平。在此之前,如果您遇到任何受支持功能的问题,请在GitHub上提出问题或将反馈发送至devrel@angular.io 。

文章来源地址:https://blog.angular.dev/try-bazels-opt-in-preview-in-angular-cli-b9430bd00e82