angular / angular/angular-cli

main.js ends up in Lazy loaded Chunks

未关闭
#28,786 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area: @angular-devkit/build-angular devkit/build-angular:browser freq1: low severity2: inconvenient type: bug/fix
主要语言
TypeScript
星标
27k
派生
11.8k
平均合并
14 小时 23 分钟
30 天内合并 PR
162

描述

### Which @angular/* package(s) are the source of the bug?

core

### Is this a regression?

Yes

### Description

setting the **bundleName** for one of the styles to "main" results in main.js end up in **Lazy Loaded Chunks** category
That also means the main.js doesn't have any hash at the end of it's filename.

```
{
"input": "styles/main.scss",
"bundleName": "main",
"inject": false
},
```

```
Initial chunk files | Names | Raw size | Estimated transfer size
polyfills.45732861e6a6851d.js | polyfills | 34.19 kB | 11.03 kB

| Initial total | 34.19 kB | 11.03 kB

Lazy chunk files | Names | Raw size | Estimated transfer size
main.css, main.js | main | 277.90 kB | 49.44 kB
runtime.a9fc7548b14f6ea7.js | runtime | 1.06 kB | 587 bytes
```

Proposed solution

Angular should report this collision as a warning. I spent hours figuring this out.

### Please provide a link to a minimal reproduction of the bug

_No response_

### Please provide the exception or error you saw

_No response_

### Please provide the environment you discovered this bug in (run `ng version`)

Angular: 18.1.4
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, language-service, platform-browser
... platform-browser-dynamic, router

Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1801.4
@angular-devkit/build-angular 18.1.4
@angular-devkit/core 18.1.4
@angular-devkit/schematics 18.1.4
@schematics/angular 18.1.4
rxjs 7.8.1
typescript 5.5.4
zone.js 0.14.4

### Anything else?

_No response_

贡献指南

打开贡献指南

调研方向

首先,在 Angular 18.1.4 上使用所示的 styles 配置复现该问题,使用 bundleName "main" 和 inject false,然后检查 build 如何对生成的文件进行分类。当名称冲突被报告为警告,并且令人困惑的 lazy-chunk 输出得到处理时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
angular, typescript
领域
build-system, tooling
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。