Vielen Dank im Voraus für jede Hilfe. Ich versuche, lokalen Speicherzugriff in Angular 2 mit Typoskript zu erhalten. Ich verwende das npm-Paket angular2-localstorage. Ich hatte die angular.io "Tour of Heroes" im Einsatz (ohne viel Styling). Ich folgte den Anweisungen unter https://www.npmjs.com/package/angular2-localstorage. Nach dem Hinzufügen des vorgeschlagenen Code meiner app.module.ts Datei, versuchte mit ich mit npm start
und erhalten Sie die folgenden Kompilierungsfehler:Angular 2 lokale Speicher - „haben kein exportierte Mitglied“ Kompilierungsfehlern
node_modules/angular2-localstorage/LocalStorageEmitter.ts(46,9): error TS2305: Module '"/Users/joshuaforman/Documents/CodeCraft/a2quickstart/a2-angular/node_modules/@angular/core/src/facade/lang"' has no exported member 'Type'.
node_modules/angular2-localstorage/LocalStorageEmitter.ts(47,9): error TS2305: Module '"/Users/joshuaforman/Documents/CodeCraft/a2quickstart/a2-angular/node_modules/@angular/core/src/di"' has no exported member 'provide'.
Sie die gesamten Code hier sehen können: https://github.com/joshuaforman/angular2-quickstart
Zusätzlich hier ist die vollständige app.module.ts-Datei (die einzige, die ich geändert haben, dass die Fehler auftreten verursacht):
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { FormsModule } from "@angular/forms";
import { HttpModule } from "@angular/http";
// added for LocalStorage
// followed instructions here: https://www.npmjs.com/package/angular2-localstorage
import { LocalStorageService, LocalStorageSubscriber } from "angular2-localstorage/LocalStorageEmitter";
// Imports for loading & configuring the in-memory web api
import { InMemoryWebApiModule } from "angular2-in-memory-web-api";
import { InMemoryDataService } from "./in-memory-data.service";
import { AppComponent } from "./app.component";
import { HeroDetailComponent } from "./hero-detail.component";
import { HeroesComponent } from "./heroes.component";
import { HeroService } from "./hero.service";
import { DashboardComponent } from "./dashboard.component";
import { routing } from "./app.routing";
@NgModule({
imports: [
BrowserModule,
HttpModule,
InMemoryWebApiModule.forRoot(InMemoryDataService),
FormsModule,
routing
],
declarations: [
AppComponent,
HeroesComponent,
HeroDetailComponent,
DashboardComponent
],
bootstrap: [ AppComponent ],
providers: [
HeroService,
LocalStorageService // added for Local Storage
]
})
export class AppModule {
// added for Local Storage
constructor(storageService: LocalStorageService) {}
}
ich habe einen Kommentar mit jeder Zeile, die ich lokalen Speicher zu implementieren hinzugefügt, die enthält Text "LocalStorage". Wenn Sie diese drei Zeilen auskommentieren, funktioniert Kompilation und Laufzeit gut.
An dieser Stelle möchte ich nur in der Lage sein, erfolgreich zu kompilieren. Vielen Dank.
Hinweis: Dies ist meine erste Frage auf Stapel. Ich habe in der Vergangenheit viele Antworten hier gefunden, und ich habe mein Bestes getan, Konventionen zu befolgen, diese Frage zu stellen. Jede produktive Rückmeldung, was ich anders machen sollte, ist willkommen.
Last Ich wusste angular2-local mit den letzten Versionen von Angular nicht kompatibel war. Der GitHub listet sogar auf, dass er nicht mehr gepflegt wird. Ich würde empfehlen, Bibliotheken zu wechseln, wenn Sie den lokalen/Sitzungsspeicher benötigen. Ich fand [Angular2 Cool Storage] (https://github.com/Hacklone/angular2-cool-storage) funktioniert gut –
Nun, das würde es tun, nicht wahr? Ich werde Cool Storage am Wochenende ausprobieren und berichten. Vielen Dank. –
Ich bestätige, dass diese Bibliothek nicht mit den neuesten Versionen von angular2 kompatibel ist. Sie sollten einen der anderen verwenden, die den Webspeicher verwalten. Wie Dave V sagte, können Sie angular2 kühle Lagerung oder [NG2-WebStorage] (https://github.com/PillowPillow/ng2-webstorage) verwenden, die ich vor einigen Monaten erstellt – Polochon