Angular 9 - ленивая загрузка не работает в производственной сборке
Я работаю над одним из приложений на Angular 9 и реализовал ленивую загрузку для какого-то модуля. конфигурация ниже:
package.json: `" dependencies ": {" @ agm / core ":" ^ 1.1.0 "," @ angular / animations ":" ~9.1.0 "," @ angular / common ":" ~9.1.0 "," @ angular / compiler ":" ~9.1.0 "," @ angular / core ":" ~9.1.0 "," @ angular / forms ":" ~9.1.0 "," @ angular / platform- browser ":" ~9.1.0 "," @ angular / platform-browser-dynamic ":" ~9.1.0 "," @ angular / router ":" ~9.1.0 ",
"devDependencies": {"@angular-devkit / build-angular": "~0.901.0", "@ angular / cli": "~9.1.0", "@ angular / compiler-cli": "~9.1.0",`
Angular CLI: 9.1.5 УЗЕЛ: 12.16.3
код маршрутизации здесь:
const routes: Routes = [
{
path: '',
component: LoginComponent
},
{
path: 'dashboard',
component: DashboardComponent
},
{
path: 'resident',
loadChildren: () => import('./modules/resident/resident.module').then(rm => rm.ResidentModule)
},
{
path: 'supervisor',
loadChildren: () => import('./modules/oclm-supervisor/oclm-supervisor.module').then(sup => sup.OclmSupervisorModule)
},
// otherwise redirect to login page
{ path: '**', redirectTo: '' }
];
дочерняя маршрутизация находится здесь:
const routes: Routes = [
{
path: '',
children: [
{
path: '',
pathMatch: 'full',
redirectTo: 'bashboard'
},
{
path: 'bashboard',
component: DashboardComponent
}]
}]
Это нормально работает в локальной среде, но когда я пытаюсь создать проект с помощью --prod и опубликовать сборку в производственной среде. тогда маршрутизация не работает. для локального: http://localhost:4200/resident (рабочий)profuction: http://abxxxx.com/resident (не работает)
1 ответ
Была такая же проблема из-за установки commonjs в качестве модуля в tsconfig.compilerOptions. Исправлено изменением на esnext
До:
{
"compilerOptions": {
"module": "commonjs"
...
}
...
}
После:
{
"compilerOptions": {
"module": "esnext"
...
}
...
}