Как построить специальные модули в угловой 2+
Я хотел бы знать, есть ли способ построить определенные модули из приложения, которое имеет несколько модулей.
например, у меня есть модуль a,b и c в приложении, но для одного из моих клиентов требуются только b и c. Я не хочу компилировать все модули и удалять ненужные чанки, ища способ компилировать чанки, которые передаются только как команда или что-то в этом роде.
любая помощь высоко ценится.
2 ответа
Вы можете использовать возможность маршрутизатора для ленивой загрузки субмодулей в вашем приложении.
Это создаст отдельные фрагменты JS ваших модулей для вашего приложения.
К сожалению, все будет скомпилировано, потому что вы не можете удалить ссылки, которые легко импортируются и тому подобное, но ваш модуль не будет загружен или разрешен, если ваш пользователь не перейдет на эти модули в вашем приложении.
Вот официальная ссылка на документацию об этом:
- https://angular.io/guide/router
- В этом приложении есть хороший пример лениво загруженных маршрутов установки: https://akveo.github.io/ng2-admin/articles/002-installation-guidelines/
NB. В этом примере все приложение с базовым модулем загружается с отложенной загрузкой, и это не очень хорошая практика. Только субмодули, которые могут быть недоступны, предназначены для отложенной загрузки.
Используйте следующую структуру.
Используя CommonModule
вместо BrowserModule
import { CommonModule } from '@angular/common';
import { NgModule } from "@angular/core";
import { LastTableComponent } from './last-table.component';
@NgModule({
imports: [
CommonModule,
],
exports:[
LastTableComponent,
],
declarations: [
LastTableComponent,
],
providers: [
]
})
export class LastTableModule { }