각도 지연 로딩 경로
5859 단어 angularjavascript
하지만 오늘은 Angular, Lazy 로딩 경로에서 매우 멋진 것을 살펴보겠습니다!
이것이 매우 높은 수준에서 작동하는 방식입니다.
이전 예제에서는 로드 시 모든 것이 로드되므로 애플리케이션을 열면 모든 경로와 모듈이 등록되고 로드됩니다.
지연 로딩을 사용하면 해당 경로에 대한 경로와 모듈은 액세스한 후에만 로드됩니다.
시각적으로 더 잘 이해하려면 지연 로딩 없이 작동하는 방법에 대한 이 GIF를 참조하십시오.
보시다시피 경로를 전환하고 있으며 새로운 통화가 수행되지 않습니다.
지연 로드 경로 구현
이 작업을 수행하려면GitHub branch부터 시작하겠습니다.
먼저 자체 라우팅 및 모듈을 사용하여 새 구성 요소를 생성해 보겠습니다.
ng generate module lazy --route lazy --module app.module
지연 로딩을 활성화하려면 구성 요소/모듈에 자체 라우팅 및 모듈이 필요합니다.
이제 이 구성 요소를
app-routing.module.ts
에 등록해 보겠습니다.const routes: Routes = [
// Other routes
{ path: 'lazy', loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule) },
];
보시다시피
component
를 사용하는 대신 loadChildren
를 사용하여 모듈을 전달한 다음 실제 모듈에 액세스합니다.이 경로를
app.component.html
에도 추가해 보겠습니다.<h1>Our first angular app</h1>
<nav>
<ul>
<li><a routerLink="/">Empty homepage</a></li>
<li><a routerLink="/welcome">Welcome</a></li>
<li><a routerLink="/second">Second</a></li>
<li><a routerLink="/second/child">-> Second ~ Child</a></li>
<li><a routerLink="/lazy">Lazy</a></li>
</ul>
</nav>
<hr />
<router-outlet></router-outlet>
이제 이 시나리오를 실행하면 게으른 경로를 클릭하면 새 스크립트(모듈)가 로드되는 것을 볼 수 있습니다.
따라서 이렇게 하면 앱의 초기 로드가 더 작아질 것입니다. 정말 멋집니다.
이제 실제 데이터를 앱에 추가하여 차이점을 확인하겠습니다.
일종의 데이터 호출을 수행하도록 수정
lazy.component.ts
합니다.constructor(private http: HttpClient) {
this.http.get(`https://reqres.in/api/users?page=2`).subscribe(res => {
console.log('load done');
})
}
차이점을 보여주기 위해 화려한 것이 필요하지 않습니다.
이제 다음 GIF를 확인하여 차이를 확인하세요!
이 전체 코드는 여기GitHub repo에서 찾을 수 있습니다.
읽어주셔서 감사합니다. 연결해 봅시다!
제 블로그를 읽어주셔서 감사합니다. 내 이메일 뉴스레터를 구독하고 Facebook에 연결하거나
Reference
이 문제에 관하여(각도 지연 로딩 경로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dailydevtips1/angular-lazy-loading-routes-4gim텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)