我正在尝试编译一个大型 Angular 11 Web 应用程序。此应用程序有一些由代码生成的文件。
这是一个例子......
文件:
models.ts
内容:
export class A {
... // No reference to B or C
}
export class B {
... // No reference to A or C
}
export class C {
... // No reference to A or B
}
在我的代码的其他地方,我像这样引用 A 类:
import { A } from './models.ts'
我发现我的项目的最终构建输出还包括类B
,C
即使它们没有在任何地方使用,这导致我的包大小急剧增加。显然,这是一个过于简化的示例,但在我的项目中,这些文件实际上包含超过 6k 行代码,但在此项目中大部分未使用。它们用于另一个共享许多相同代码的项目中。
需要明确的是,我正在使用这些相关标志运行生产构建:
"optimization": true,
"aot": true,
"buildOptimizer": true
我觉得我在这里缺少一些基本的东西。我需要将这些类分成不同的文件吗?如何确保这些未使用的类不包含在我的产品构建的输出中?