Angular не может найти модуль при сборке (только prod) - PullRequest
0 голосов
/ 20 сентября 2019

Я строю угловой модуль, используя угловой cli.А в другом проекте я вызываю этот модуль.

Когда я запускаю ng serve, все работает.Но когда я запускаю ng build --prod, я получаю следующую ошибку:

ОШИБКА в ./node_modules/my-module/dist/pagination/pagination.ngfactory.js Модуль не найден: Ошибка: не могуразрешить 'pagination' в '/ my-web-application / node_modules / my-module / dist / pagination'

ОШИБКА в ./src/app/app.module.ngfactory.js Модуль не найден: Ошибка:Не удается разрешить «разбиение на страницы» в «/ my-web-application / src / app»

ОШИБКА в ./src/app/areas/private/users/list/index.ngfactory.js Модуль не найден: Ошибка: Не удается разрешить «разбиение на страницы» в «/ my-web-application / src / app / Area / private / users / list»

В моем веб-приложении загружается моймодуль таким образом

@NgModule({
  ...
  imports: [
    MyModule
  ],
  ...
  bootstrap: [AppRootComponent]
})
export class AppModule { }

И вызывающий компонентный модуль таким образом

<pagination [data]="pagination"></pagination>

В MyModule это то, как он настроен

@NgModule({
  declarations: [PaginationComponent],
  imports: [
    CommonModule,
  ],
  exports: [PaginationComponent]
})
export class MyModule { }

Что я мог сделатьчто делает его сбой только тогда, когда ng build --prod?

Angular CLI: 8.3.5
Node: 10.15.0
OS: darwin x64
Angular: 8.2.7
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.803.5
@angular-devkit/build-angular     0.803.5
@angular-devkit/build-optimizer   0.803.5
@angular-devkit/build-webpack     0.803.5
@angular-devkit/core              8.3.5
@angular-devkit/schematics        8.3.5
@angular/cdk                      8.2.0
@angular/cli                      8.3.5
@angular/flex-layout              8.0.0-beta.27
@angular/material                 8.2.0
@ngtools/webpack                  8.3.5
@schematics/angular               8.3.5
@schematics/update                0.803.5
rxjs                              6.4.0
typescript                        3.5.3
webpack                           4.39.2

https://github.com/angular/angular-cli/issues/15645

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Вам также нужно будет экспортировать модуль MyModule в ваш AppModule следующим образом:

@NgModule({
  ...
  imports: [
    MyModule
  ],
  exports: [MyModule]
  ...
  bootstrap: [AppRootComponent]
})
export class AppModule { }
0 голосов
/ 20 сентября 2019

В MyModule добавьте PaginationComponent в массив экспорта:

@NgModule({
  exports: [
    PaginationComponent
  ]
})
export class MyModule {}

Редактировать:

Также для:

<pagination [data]="pagination"></pagination>

Убедитесь, что свойство pagination является общедоступным в методе, в котором вы реализуете этот код

...