2016-03-21 19 views
3
lesen

Ich habe gerade eckig 2 von Beta 9 auf Beta 11 (oder Beta 10) aktualisiert und jetzt bekomme ich diesen Fehler in der Konsole: Uncaught TypeError: Cannot read property 'zone' of undefined in angular2-polyfills.js:142 ohne zu ändern alles zu programmieren.Angular 2 nach Update bekomme ich diesen Fehler: Kann nicht 'Zone' von undefined

Die Linie in angular2-polyfills.js:142 wo Konsole Bericht der Fehler ist:

task.zone.cancelTask(task); 

I Ebene js verwenden.

In index.html Ich schließe diese 4 js Dateien:

<script src="libs/es6-shim/es6-shim.min.js"></script> 
<script src="libs/angular/2.0.0-beta.11/angular2-polyfills.js"></script> 
<script src="libs/angular/2.0.0-beta.11/Rx.umd.js"></script> 
<script src="libs/angular/2.0.0-beta.11/angular2-all.umd.js"></script> 

und all ngZone bezogenen Code, ich verwende, ist ein Verfahren zur Herstellung einer Klasse accesible von externen js zu machen.

Auch ich versuche, alle Code zu kommentieren, wo ich ngZone benutze und der Fehler ist immer noch hier.

Was ist damit verbunden und wie kann ich diesen Fehler beheben?

Antwort

4

Es scheint, dass es bei Beta11 einige Probleme in Bezug auf Zonen gibt. Siehe die Mitteilung auf der Website angular.io (https://angular.io/docs/ts/latest/):

The current beta.11 release has known bugs relating to significant changes to the zones subsystem. All apps will report an error to the console:

Uncaught TypeError: Cannot read property 'zone' of undefined 

The app will run unimpeded but it is disconcerting. We hope to have this and other bugs repaired by beta.12. Thanks for your patience.

+1

Siehe auch https://github.com/angular/angular/issues/7660, https: // github.com/angular/angular/issues/7652 –

+0

Danke. Ich habe nur Changelogs überprüft. –

2

Ich änderte lite-Server Live-Server und der Fehler ist weg. Außerdem führten Aktualisierungen des Lite-Servers in der App nicht zu einer Seitenaktualisierung, während die Live-Server-Seite automatisch aktualisiert wurde.

+0

Ich benutze keine von Lite-Server oder Live-Server. Ich benutze angular2 in einer Phonegap App. Ich werde auf die nächste Version warten und hoffe, dass es behoben wird. Vielen Dank. –

+0

Dies war hilfreich beim lokalen Ausführen innerhalb Knoten. es wird auch hier https://github.com/angular/angular/issues/7652 erwähnt –

2

Ich kann bestätigen, dass in 2.0.0-Beta.12 das Problem behoben ist.

1

Sobald Sie auf [email protected] aktualisiert haben, stellen Sie sicher, dass Sie Ihre [email protected]^0.6.6 aktualisiert haben, und ich kann bestätigen, sobald Sie diese Abhängigkeiten aktualisiert haben zone.js Fehler wird verschwinden . Hoffentlich kann das hilfreich sein!

0

Was ich (ich bin mit neuester Angular CLI)
impoting Zone in main.ts hilft

import { enableProdMode } from '@angular/core'; 
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; 

// here 
import 'zone.js/dist/zone'; 

import 'rxjs/add/operator/map' 

import { AppModule } from './app/app.module'; 
import { environment } from './environments/environment'; 

if (environment.production) { 
    enableProdMode(); 
} 

platformBrowserDynamic().bootstrapModule(AppModule);