material-de-estudos

Módulos, Lazy Loading e Angular Material

Sumário

Módulos

São uma forma de organizar e encapsular (separar) funcionalidades e da aplicação em blocos (agrupamento) coesos e independentes.

Há 2 tipos de módulos:

ng generate module ./features/product --routing
# or
ng g m ./features/product --routing

Usa-se a flag --routing para criar um arquivo de rotas para gerenciar as rotas dos componentes

Lazy Loading nas Rotas

Por padrão, ngModules são eagerly loaded (carregamento ansioso), quando a aplicação é carregada, todos os módulos também serão.

O Lazy Loading (carregamento preguiçoso ou tardio) é utilizado para melhorar o desempenho da aplicação, e não abrir a rota instantaneamente, ou seja, apenas quando solicitado e não no primeiro acesso.

Implementa-se, utilizando o loadChildren (um módulo) em vez de o component no arquivo de rotas da aplicação

const routes: Routes = [
  //... other routes
  { path: 'home', component: HomeComponent },
  {
    path: 'product',
    loadChildren: () =>
      import('./features/product/product.module').then((m) => m.ProductModule),
  },
];

Dentro do arquivo de rotas do módulo de products:

const routes: Routes = [
  { path: '', redirectTo: 'list', pathMatch: 'full' },
  { path: 'list', component: ListingComponent },
  { path: 'new', component: RegisterComponent },
];

Angular Material

É uma biblioteca usado pra construir interfaces criado pela própria equipe de desenvolvedores do Angular. Ajuda no desenvolvimento e manutenção do código utilizando temas já pré-criados pelo Angular Material

# para adicionar na aplicação angular:
ng add @angular/material

Guias para o Angular Material