我们有一个大型的Angular应用程序,它使用@ ngtools / webpack基于webpack构建。构建需要很多时间。
一些步骤需要很多时间:
AngularCompilerPlugin._createOrupdateProgram.ts.createProgram: 25064.073ms
AngularCompilerPlugin._emit.ts.gatherDiagnostics.ts.getSemanticDiagnostics: 18770.113ms
AngularCompilerPlugin._make: 67271.619ms
我尝试运行基准测试并发现以下日志
AngularCompilerPlugin._setupoptions: 656.320ms
AngularCompilerPlugin._createOrupdateProgram.ts.createProgram: 25064.073ms
AngularCompilerPlugin._make.resolveEntryModuleFromMain: 17.954ms
AngularCompilerPlugin._listLazyRoutesFromProgram.createProgram: 1.900ms
AngularCompilerPlugin._listLazyRoutesFromProgram.listLazyRoutes: 7292.047ms
AngularCompilerPlugin._emit.ts.getOptionsDiagnostics: 0.349ms
AngularCompilerPlugin._emit.ts.gatherDiagnostics.ts.getSyntacticDiagnostics: 4.739ms
AngularCompilerPlugin._emit.ts.gatherDiagnostics.ts.getSemanticDiagnostics: 18770.113ms
AngularCompilerPlugin._emit: 34101.066ms
AngularCompilerPlugin._update._emit: 34101.871ms
AngularCompilerPlugin._update: 67271.220ms
AngularCompilerPlugin._make: 67271.619ms
ngcLoader+main.ts+.ngcLoader.AngularCompilerPlugin: 15.984ms
ngcLoader+main.ts+: 45.086ms
running other build files
是否有任何减少构建时间的机制?
优化时间
AngularCompilerPlugin._createOrupdateProgram.ts.createProgram
AngularCompilerPlugin._emit.ts.gatherDiagnostics.ts.getSemanticDiagnostics
惰性加载机制有助于减少时间吗?