Ошибка Нет провайдера для NgZone

У меня есть приложение, которое использует Angular Google Maps для отображения местоположения. Сначала я мог показать карту, но с некоторых пор (вероятно, я что-то изменил) я получаю следующую ошибку:

ERROR Error: Uncaught (in promise): Error: StaticInjectorError[NgZone]: 
StaticInjectorError[NgZone]: 
NullInjectorError: No provider for NgZone!
at _NullInjector.get (core.js:923)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveNgModuleDep (core.js:10585)
at NgModuleRef_.get (core.js:11806)
at resolveDep (core.js:12302)
at _NullInjector.get (core.js:923)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveNgModuleDep (core.js:10585)
at NgModuleRef_.get (core.js:11806)
at resolveDep (core.js:12302)
at resolvePromise (zone.js:824)
at resolvePromise (zone.js:795)
at eval (zone.js:873)
at ZoneDelegate.invokeTask (zone.js:425)
at Object.onInvokeTask (core.js:4620)
at ZoneDelegate.invokeTask (zone.js:424)
at Zone.runTask (zone.js:192)
at drainMicroTaskQueue (zone.js:602)
at <anonymous>

Мой код: app.module.ts:

import { AgmCoreModule } from '@agm/core';

imports AgmCoreModule.forRoot({apiKey:'...'})

mycomponent.html

<agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom">
    <agm-marker [latitude]="lat" [longitude]="lng">
        <agm-info-window>
            <div>
                my text
            </div>
        </agm-info-window>
    </agm-marker>

I would really appreciate your help!


person Ivett    schedule 17.12.2017    source источник
comment
Вы можете проследить за стеком и проверить, где происходит ошибка. В настоящее время вы единственный человек, который может это сделать. Подумайте о том, чтобы предоставить способ воспроизвести проблему — plunk, stackblitz и т. д.   -  person Estus Flask    schedule 18.12.2017
comment
Привет, меня это интересует. Вы нашли способ решить проблему?   -  person Deunz    schedule 21.12.2017
comment
zone включены в большинство приложений в polyfills.ts. polyfills.ts включен angular.json. Вы изменяли любой из этих файлов?   -  person adamdport    schedule 25.10.2018
comment
кто-нибудь решил это еще? Я сталкиваюсь с точно такой же ошибкой.   -  person David McSpadden    schedule 06.11.2019


Ответы (2)


Вы можете предоставить NgZone вручную:

import { NgZone } from '@angular/core';

@NgModule({
    providers: [
        // ...
        { provide: NgZone, useFactory: () => new NgZone({}) }
    ]
})
person Anton Poznyakovskiy    schedule 15.01.2018

Вам нужно добавить peerDependencies со всеми библиотеками, которые вы используете.

Также проверьте, удалив каждый модуль из вашего импорта, чтобы увидеть, какой из них вызывает проблему. Это link должно помочь.

person Sajeetharan    schedule 26.10.2018