Ленивая загрузка с Angular 6.1, ошибка с сборкой ng - PullRequest
0 голосов
/ 13 октября 2018

У меня есть приложение Angular 6.1, которое обслуживает Django.Когда я пытаюсь ng build это и открыть, возникает следующая ошибка:

Uncaught SyntaxError: Unexpected token <
ERROR Error: Uncaught (in promise): Error: Loading chunk recordmanagement-records-module-ngfactory failed.

В модуле приложения нет импорта модуля записей или его компонента.Если я ng serve это, это работает просто отлично.Я также попробовал --aot и пользовательскую сборку веб-пакета с angular-router-loader, которая не работала.

Это маршрутизация приложения:

const appRoutes: Routes = [
    { path: "records", loadChildren: './recordmanagement/records.module#RecordsModule'},
    { path: "", pathMatch: "full" , component: DashboardComponent, canActivate: [AuthGuardService]},
];

@NgModule({
    imports: [RouterModule.forRoot(appRoutes)],
    exports: [RouterModule]
})
export class AppRoutingModule {}

И записимаршрутизация:

const recordsRoutes: Routes = [{
    path: "",
    component: RecordsComponent,
    canActivate: [AuthGuardService]
}];

@NgModule({
    imports: [RouterModule.forChild(recordsRoutes)],
    exports: [RouterModule],
    providers: [AuthGuardService]
})
export class RecordsRoutingModule {}

Основные угловые зависимости используются + ngrx для управления состоянием.Все отлично скомпоновано:

chunk {main} main.js, main.js.map (main) 233 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 228 kB [initial] [rendered]
chunk {recordmanagement-records-module-ngfactory} recordmanagement-records-module-ngfactory.js, recordmanagement-records-module-ngfactory.js.map (recordmanagement-records-module-ngfactory) 208 kB  [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 9.09 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 78.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 4.22 MB [initial] [rendered]

Django действительно просто обслуживает файлы, которые создаются в процессе сборки.

У вас есть идеи, что здесь происходит?

Ответы [ 2 ]

0 голосов
/ 14 октября 2018

спасибо за ваши ответы, проблема действительно была не в .forChild, у меня уже было это.но сервировка от django, которая не нашла кусок.

решение: пользователь ng build --deploy-url /static/dist/ где '/ static / dist /' - это место, где файлы компилируются.

0 голосов
/ 13 октября 2018

Для модулей с отложенной загрузкой нам нужно использовать .forchild метод RouterModule.

RouterModule.forChild(routes)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...