wake-up-neo.com

Warum Fehler in Angular 5 as: hat kein exportiertes Mitglied 'OpaqueToken'.?

Ich habe eine Angular 4-Anwendung, die ich auf Angular 5 aktualisiere.

Ich erhalte den folgenden Fehler.

FEHLER in src/app/application/services/generated/variables.ts (1,10): Fehler TS2305: Modul '"..../node_modules/@ angle/core/core"' hat kein exportiertes Mitglied 'OpaqueToken'.

Code-Snippet ist:

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

export const BASE_PATH = new OpaqueToken('basePath');
export const COLLECTION_FORMATS = {
    'csv': ',',
    'tsv': '   ',
    'ssv': ' ',
    'pipes': '|'
}

Dieser Code wurde von swagger editor generiert.

enthält das Folgen in der Datei package.json  

"@angular/flex-layout": "^2.0.0-beta.12"

Versuchen Sie, den Ordner node_modules zu löschen, löschen Sie die package.json -Datei und führen Sie dann den folgenden Befehl aus. Ich hoffe, das Problem wurde behoben

npm install

bitte beziehen Sie sich auf den folgenden Link zu dieser Ausgabe https://github.com/angular/flex-layout/issues/494#issuecomment-343355178

2
shailesh

Das OpaqueToken wurde entfernt. Sie müssen stattdessen das InjectionToken verwenden. Ich stehe vor demselben Problem. Im Moment besteht die "beste" Lösung darin, die Token nach jedem Code-Gen-Build zu ersetzen. Das ist aber keine dauerhafte Lösung. 

Bitte tragen Sie zu diesem Problem bei: https://github.com/swagger-api/swagger-codegen/issues/7324

2
user9112752

Bitte sehen Sie https://github.com/swagger-api/swagger-codegen/issues/7324#issuecomment-368548716

Wenn Sie Angular 5 verwenden möchten, müssen Sie die Version von swagger-codegen verwenden, die die Versionsumschaltung unterstützt.

Dass diesmal die niedrigste stabile Version von 2.3.0 ist

In diesem können Sie (für benutzerdefinierte Konfiguration) ngVersion auf jede Version definieren, die Sie möchten. Solange dieser Wert über 4,0 liegt, wird ein Injektionstoken anstelle von OpaqueToken generiert.

1
KeniSteward

Dies geschah beim Upgrade auf Winkel 5.2.0. Am Ende musste ich folgendes tun:

Editierter package.json: Musste meine Version für @angular/compiler-cli ändern. In meinem Fall musste ich es auf 5.2.0 zurückbringen, da es irgendwie zu 5.2.10 kam.

Das Verzeichnis node_modules wurde gelöscht.

Ran: npm install

Installiert: npm install @angular/flex-layout.

0
Ben