есть ли другой синтаксис для лениво загруженного модуля, потому что на локальной машине все маршруты работают нормально, но в рабочей (ng build) ошибка возникает - PullRequest
0 голосов
/ 29 октября 2019

Я работал над Angular 7.xx во время развертывания, но сейчас прохожу проблему и не могу найти решение. проблема в том, что путь в режиме развертывания загруженных с отложенной загрузкой компонентов не может быть определен, какой путь следует указывать?

export const appRoutes: Routes = [
  {
    path: '',
    redirectTo: 'login',
    pathMatch: 'full',
    canActivate: [AuthGuard]
  },

  { path: 'login', component: LoginComponent },

      {
        path: 'setup',
        loadChildren: './modules/setup/setup.module#CorrSetupModule',
        data: { preload: true }
      },

    ]
  }
];

Я ожидаю, что все загруженные с отложенной загрузкой маршруты будут работать, но они выдают ошибку

core.js: 15724 ОШИБКА Ошибка: не удается найти модуль app / modules / setup / setup.module модуля в $ _lazy_route_resource объект ленивого пространства имен: 38 at ZoneDelegate.push ../ node_modules / zone.js / dist/zone.js.ZoneDelegate.invoke (zone.js: 391) в Object.onInvoke (core.js: 17299)

1 Ответ

0 голосов
/ 29 октября 2019

Существует другой альтернативный синтаксис из Angular 8.x.x для дочерних элементов загрузки:

path: 'setup',
loadChildren: async () => import('./modules/setup/setup.module').then(module => module.CorrSetupModule)
data: { preload: true }

Я столкнулся с аналогичной проблемой с лениво загруженными модулями в сборках prod, но она была связана с именами, которые были созданы дляобщие фрагменты.

Мне удалось изменить параметр namedChunks в angular.json на false:

"configurations": {
  "production": {
    //...
    "namedChunks": false, // setting this to false solved my problem
    "aot": true,
    //...
  }
}
...