2017-09-11 1 views
2

Ich habe gerade unser Projekt auf Angular 4.1.0 aktualisiert. Dies beinhaltete auch das Upgrade von Webpack auf 2.2.1 und das Upgrade von ngx-boostrap auf 1.9.2 neben anderen Paket-Upgrades.isDevMode/enableProdMode-Fehler: Kann den Prod-Modus nach dem Plattform-Setup nicht aktivieren

Nach der Aktualisierung alles, ich habe alles mit dem Webpack-Dev-Server getestet, im Dev-Modus und alles war in Ordnung. Ich habe dann einen Produktions-Webpack-Build ausprobiert. Der Build funktionierte gut, aber beim Ausführen unserer Website bekomme ich sofort den Fehler 'Kann den Startmodus nach dem Plattform-Setup nicht aktivieren'.

Nachdem ich mit Chrome-Dev-Tools untersucht habe, kann ich sehen, dass ngx-bootstrap/utils/warn-once.js während des Startvorgangs isDevMode() aufruft. Dies geschieht vor dem Aufruf von enableProdMode() in unserem main.ts. Der Winkelcode lässt nicht zu, dass der Modus nach der Überprüfung geändert wird, sodass der Fehler ausgegeben wird. Dieser Teil verstehe ich.

Mein Wissen über Webpack geht jedoch soweit, dass es für unser Projekt funktioniert und nicht weiter. Ich habe keine Ahnung, was hier schuld ist. Ist es:

1) Das ngx-bootstrap sollte nicht aufrufen isDevMode() wie es startet.

2) Dass ich Webpack falsch konfiguriert habe, und der Aufruf von isDevMode sollte geschehen, nachdem main.ts ausgeführt wurde (aber keiner unserer Code hat sich geändert, da dies vor dem Upgrade alles in Ordnung war).

3) Etwas anderes

Apologies, dass dies eine vage Frage. Ich habe einfach nicht genug Verständnis von Webpack, um es genauer zu fragen. Jede Hilfe würde sehr geschätzt werden.

Dank

Antwort

2

Update ngx-Bootstrap zu 1.9.3, diese Version hat dieses Problem behoben.

+0

Perfekt. Das hat es behoben. Vielen Dank – Tom

0

hatte ich das gleiche Problem zu Angular 4.3.4 aktualisieren. Ich habe zwei Dinge um es zu beheben:

  1. Upgraded die global @angular/cli die Version in dem Projekt package.json anzupassen installiert. Ich habe @angular/cli 1.4.0 verwendet, aber Sie benötigen möglicherweise eine ältere Version für Angular 4.1.0, ich bin mir nicht sicher.
  2. Generierte ein neues Projekt mit dieser CLI-Version und verglich package.json, .angular-cli.json, tsconfig.json und main.ts aus dem generierten Projekt mit dem aktualisierten Projekt.
+0

Vielen Dank für Ihre Antwort. Ich habe getan, was Sie vorgeschlagen haben, indem Sie ein neues Projekt mit angular-cli erstellt haben. Ich habe die tsconfig.json-Datei meines Projekts aktualisiert, damit sie mit der cli-Datei übereinstimmt. Meine package.json unterscheidet sich nur dadurch von der cli one, dass zusätzliche Pakete hinzugefügt werden. Ich habe kein angular-cli.json in meinem Projekt, da ich webpack benutze. Ich habe immer noch den Fehler, und ich bin fest, was als nächstes zu tun ist. Ich bin sehr verwirrt, warum der Aufruf von enabledProdMode() in main.ts jetzt ein Problem ist:/ – Tom

Verwandte Themen