2017-02-16 35 views
0

私はcliでangular2チュー​​トリアルを作成しています。関数 'InMemoryWebApiModule'を呼び出すと、関数呼び出しはangular2でサポートされません

HTTPサービスを作成したとき(チュートリアルの手順7)、私は1つの問題を発見しました。トライNG後

はサーブ:

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:メモリ内の-data.service.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 { } 

を:

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

「InMomoryWebApiModule」と呼ばれるコードを含めることができます – Danoram

+0

質問を編集するにはどうすればよいですか? –

+0

あなたの質問の下にあるタグ 'angular2'には、' share'' edit'や 'delete'のようないくつかのオプションがあります。 'edit'をクリックすると、必要な変更を加えることができる編集画面が表示されます。 – Danoram

答えて

0

あなたはhttps://github.com/angular/in-memory-web-apiの古いバージョンを使用しているようです。

代わりにnpm install --save angular-in-memory-web-apiをインストールしてください(2を付けずに)。そのバージョンはokです。古いバージョンは静的に解析可能ではなく、AoTの問題を引き起こしました。

関連する問題