2017-12-30 7 views
0

Ich verwende ein altes Modul: angular-2-local-storage. Die Art und Weise instanziiert Sein ist die folgende:Die Fehlermeldung "statisch auflösende Symbolwerte" wird beim Kompilieren von Angular 2 Projekt empfangen

const LOCAL_STORAGE_SERVICE_CONFIG_TOKEN: string = 'LOCAL_STORAGE_SERVICE_CONFIG'; 
export const LOCAL_STORAGE_SERVICE_CONFIG = new OpaqueToken(LOCAL_STORAGE_SERVICE_CONFIG_TOKEN); 

... und weiter in meinem Code:

@NgModule({ 
    ..... 
    providers: [ 
     LocalStorageService, 
    { 
     provide: LOCAL_STORAGE_SERVICE_CONFIG, 
     useValue: { prefix: 'miswap' } 
    }, 
    { 

Aber wenn mein Projekt Bau, erhalte ich diese:

Fehler : Fehler beim statischen Auflösen der Symbolwerte. Nur initialisierten Variablen und Konstanten können referenziert werden, da der Wert dieser Variablen durch die Template-Compiler (Position 02.22 in der ursprünglichen .ts-Datei) benötigt wird, Symbol LOCAL_STORAGE_SERVICE_CONFIG Lösung in ....

Hier Ich bin total verloren.

Das Problem sieht aus wie OpaqueToken als mentioned here. Allerdings ist mein Projekt Angular 2, nicht 4.

Also, vermisse ich etwas? Ist das wegen einer eckigen Cliversion falsch? Ich weiß nicht einmal, wo ich eine Lösung finden kann!

Dieser Teil meines package.json ist, ob das helfen kann:

"devDependencies": { 
    "@angular/compiler-cli": "^2.0.0", 
    "@angular/platform-server": "2.0.0", 
    "@angular/tsc-wrapped": "0.3.0", 
    "@types/async": "2.0.31", 
    "@types/core-js": "0.9.32", 

Antwort

0

Nur eine Idee: Was ist der Wert von LOCAL_STORAGE_SERVICE_CONFIG, bevor es bietet? Versuchen Sie console.log(LOCAL_STORAGE_SERVICE_CONFIG) direkt vor der Deklaration der @NgModule. Wenn sein undefined, Sie es entweder nicht richtig importieren, so fehlt der Wert, oder es gibt ein Problem mit new OpaqueToken() - ist OpaqueToken undefined?

+0

Ich bin mir nicht sicher, wo Sie möchten, dass ich "console.log" ausführen, da dies nicht der Laufzeitfehler meiner App ist. Die App selbst funktioniert gut, wenn sie gestartet wird (in dev, und alte Version von prod). Allerdings erhalte ich es beim Erzwingen von gulp build.dev.exp. Und der Fehler selbst bezieht sich eher auf Semantik, denke ich. – Agat

Verwandte Themen