NullInjectorError: Нет провайдера для NgZone

Я создал угловую библиотеку с дизайном материала (package.json ниже)

{
  "name": "angular-lib",
  "version": "0.0.0",
  "license": "UNLICENSED",
  "dependencies": {
    "@angular/core": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/material": "^5.0.4",
    "@angular/forms": "^5.2.0",
    "@angular/animations": "^5.2.0",
    "@angular/cdk": "^5.0.4",
    "@angular/platform-browser": "^5.2.0",
    "zone.js": "^0.8.20"
  }
}

Когда я включаю в эту библиотеку:

import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { MatCardModule, MatCommonModule } from '@angular/material';

и когда внутри этой библиотеки все импортируется

@NgModule({
  imports: [
    CommonModule,
    NoopAnimationsModule,
    MatCardModule
  ],
...

Я получаю ошибку:

Error: StaticInjectorError(AppModule)[ApplicationRef -> NgZone]: 
  StaticInjectorError(Platform: core)[ApplicationRef -> NgZone]: 
    NullInjectorError: No provider for NgZone!
    at _NullInjector.webpackJsonp../node_modules/@angular/core/esm5/core.js._NullInjector.get (core.js:994)
    at resolveToken (core.js:1292)
    at tryResolveToken (core.js:1234)
    at StaticInjector.webpackJsonp../node_modules/@angular/core/esm5/core.js.StaticInjector.get (core.js:1102)
    at resolveToken (core.js:1292)
    at tryResolveToken (core.js:1234)
    at StaticInjector.webpackJsonp../node_modules/@angular/core/esm5/core.js.StaticInjector.get (core.js:1102)
    at resolveNgModuleDep (core.js:10836)
    at _createClass (core.js:10881)
    at _createProviderInstance$1 (core.js:10847)

1 ответ

Я нашел временное решение... Моя угловая библиотека с символьной ссылкой node_modules из приложения предварительного просмотра angular-cli работает нормально.

ln -s <angular-cli-preview-app>/node_modules <my-angular-library>/node_modules
Другие вопросы по тегам