使用Angular提供的路由预先加载(preloading)策略,以避免多个URL下的chunk文件重复加载。
在app.module.ts中,引入PreloadAllModules,将路由预加载设置为true,并使用NoopAnimationsModule来禁用浏览器动画效果:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouterModule, PreloadAllModules } from '@angular/router';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { routes } from './app.routes';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
NoopAnimationsModule,
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
bootstrap: [AppComponent]
})
export class AppModule { }
这样,所有的模块都会被预先加载,而不仅仅是当前组件需要的模块。这将避免多个URL下的chunk文件重复加载,加快应用程序的启动速度。