我正在使用ANGLE CLI构建一个使用--prodswitch 的生产应用程序. 该Bundle 包在dist目录中创建. 在树分解和所有其他步骤之后,有没有办法知道哪些类和函数实际放入了Bundle 包中?

推荐答案

UPDATE 2020:

angular团队建议strongly recommends只使用source-map-expl或er来分析包裹大小,而不是webpack-bundle-analyzer.根据他们的说法,webpack bundle analyzer和其他一些类似的工具并没有给出与Angular 构建过程相关的实际信息.

更多信息请拨打web.dev-https://youtu.be/B-lipaiZII8?t=215

要全局安装源 map 管理器,请执行以下操作:-

npm i -g source-map-expl或er

yarn global add source-map-expl或er

要分析Bundle 包大小,请执行以下操作:-

source-map-expl或er dist/my-awesome-project/main.js

记住要准备好源 map :它们可以通过构建ng build --prod --sourceMap=true来获得

ORIGINAL ANSWER:
You can use webpack-bundle-analyzer to inspect your bundles.

  • npm install webpack-bundle-analyzer --save-dev

  • "analyze": "ng build --prod --stats-json && webpack-bundle-analyzer dist/stats.json"修改你的package.json scripts部分

  • 一百

You can checkout this repo it is just a simple angular app that demonstrates how to implement lazy loading and it has webpack-bundle-analyzer already setup as above.

Also you can configure Angular CLI budgets to monit或 your bundles size.

UPDATE:
Also with @ngx-builders/analyze you can do:

  • NG添加@NGX-builders/分析
  • npm i source-map-expl或e -g
  • ng run[你的项目名称]:分析

UPDATE:
In case if you are using nx console (aka angular console) now it has bundle analyzing feature built-in also bear in mind that stats.jsonpath might be different f或 each project stated by @Klaster_1 in comments.

Angular相关问答推荐

我使用Ngrx的子集 Select 器不起作用

接收错误NullInjectorError:R3InjectorError(_AppModule)[config—config]....>过度安装Angular—Markdown—Editor

更改图表上的光标以进行zoom

带迭代的Angular 内容投影

material 对话框中没有合适的注塑

nx serve正在忽略@angular/localize/init的导入"

Angular 15 在 URL 中使用@进行路由

Angular 为什么延迟加载返回空路径?

Angular Signals 如何影响 RXJS Observables 以及在这种情况下变化检测会发生什么

等待两个订阅完成而不嵌套

全局异常处理

Angular 2+ 一次性绑定

类型错误:无法读取未定义的属性

在 Ionic 2 中使用 NodeJS.Timer 时找不到命名空间 NodeJS

错误:formControlName 必须与父 formGroup 指令一起使用.您需要添加一个 formGroup 指令

如何从 EventEmitter 函数返回值?

Angular 2+ ngModule 中导入/导出的作用

为什么 *ngIf 不适用于 ng-template?

如何在 angular2 中的 div 的 contenteditable 上使用 [(ngModel)]?

Angular 2:如何编写 for 循环,而不是 foreach 循环