2017-02-16 16 views
0

Ich mache ein angular2-Tutorial mit cli.Aufruf der Funktion 'InMemoryWebApiModule', Funktionsaufrufe werden in angular2 nicht unterstützt.

Als ich HTTP-Service (Tutorial Schritt 7) machte, entdeckte ich ein Problem.

Nach try ng dienen:

Calling function 'InMomoryWebApiModule', function calls are not supported. 
webpack: Failed to compile. 

main.ts:

import { platformBrowserDynamic }   from '@angular/platform-browser-dynamic'; 
import { enableProdMode }     from '@angular/core'; 
import { environment }      from './environments/environment'; 
import { AppModule }      from './app/app.module'; 
import{InMemoryBackendService, SEED_DATA } from 'angular2-in-memory-web-api' 

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

platformBrowserDynamic().bootstrapModule(AppModule); 

app.module.ts:

import { NgModule }  from '@angular/core'; 
import { BrowserModule } from '@angular/platform-browser'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 

import { AppRoutingModule }  from './app-routing.module'; 

// 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 { DashboardComponent } from './dashboard.component'; 
import { HeroDetailComponent } from './hero-detail.component'; 
import { HeroesComponent }  from './heroes.component'; 
import { HeroService }   from './hero.service'; 
import { HeroSearchComponent } from './hero-search.component'; 

@NgModule({ 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    InMemoryWebApiModule.forRoot(InMemoryDataService), 
    AppRoutingModule 
    ], 
    declarations: [ 
    AppComponent, 
    DashboardComponent, 
    HeroDetailComponent, 
    HeroesComponent, 
    HeroSearchComponent 
    ], 
    providers: [HeroService], 
    bootstrap: [AppComponent] 
}) 

export class AppModule { } 

In-Memory-data.service.ts:

import { InMemoryDbService } from 'angular2-in-memory-web-api'; 
export class InMemoryDataService implements InMemoryDbService { 
    createDb() { 
    let heroes = [ 
     {id: 11, name: 'Mr. Nice'}, 
     {id: 12, name: 'Narco'}, 
     {id: 13, name: 'Bombasto'}, 
     {id: 14, name: 'Celeritas'}, 
     {id: 15, name: 'Magneta'}, 
     {id: 16, name: 'RubberMan'}, 
     {id: 17, name: 'Dynama'}, 
     {id: 18, name: 'Dr IQ'}, 
     {id: 19, name: 'Magma'}, 
     {id: 20, name: 'Tornado'} 
    ]; 
    return {heroes}; 
    } 
} 

enter image description here

+0

könnten Sie den Code, wo Sie 'InMomoryWebApiModule' – Danoram

+0

aufrufen Wie kann ich meine Frage bearbeiten? –

+0

Unten in der Frage unter dem Tag 'angular2' sollten einige Optionen wie' share' 'edit' und' delete' stehen. Wenn Sie auf "Bearbeiten" klicken, gelangen Sie zum Bearbeitungsbildschirm, auf dem Sie die erforderlichen Änderungen vornehmen können. – Danoram

Antwort

0

Sie scheinen eine alte Version von https://github.com/angular/in-memory-web-api zu verwenden.

Installieren Sie npm installieren --ave angular-in-memory-Web-API statt (ohne die 2), sollte diese Version in Ordnung sein. Die alte Version war nicht statisch auswertbar, was Probleme mit AoT verursachte.

Verwandte Themen