2016-12-12 12 views
7

Używam 0.1.17 interfejsu API In-Memrory Angular2 wraz z Angularnym interfejsem CLI (z pakietem Webpack). Śledziłem wszystkie kroki verbatim z HTTP tutorial a ja otrzymuję następujący błąd:angular-in-memory-web-api: ctorParameters.map nie jest funkcją

reflection_capabilities.js:58 Uncaught TypeError: ctorParameters.map is not a function 
    at ReflectionCapabilities.parameters (http://localhost:4200/main.bundle.js:48626:45) 

Oto moja app.module.js import:

imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    AppRoutingModule, 
    SharedModule, 
    CoreModule, 

    // Fake API -- remove for production 
    InMemoryWebApiModule.forRoot(InMemoryDataService) 
    ], 

Odpowiedz

4

Wydaje się, że wersje don” t dopasowanie. Wersja kątowa, której używasz, wymaga, aby ctorParameters był tablicą. Ale w InMemoryWebApiModule v0.1.17 dostępna jest funkcja. Uaktualnij do wersji v0.2.0. W tej wersji dostarczana jest tablica.

+0

Dzięki. Nie wypróbowałem twojego rozwiązania, ale najwyraźniej uaktualnienie do najnowszej wersji (0.2.0) modułu in-memory-web-api naprawiło mój problem. –

0

Ten błąd jest zgłaszany, gdy błędnie wpisano szablon == zamiast = w przypisaniu parametrów.

0

Ten błąd wydaje się być powiązany z pakietem, który oczekuje, że wersja rdzenia Angula będzie inna niż ta, która jest faktycznie zainstalowana.

udało mi się ustalić przyczynę tego problemu, patrząc na raport błędu z ng build:

npm WARN @angular/[email protected] requires a peer of @angular/[email protected] but none was installed. 

To pomogło mi zrozumieć, że jeden z moich pakietów oczekuje kątowa być w v2.4.4, ale Używam v2.0.1. Zaktualizowałem moją package.json mieć oba pakiety zestaw do mojej podstawowej wersji tak:

"dependencies": { 
    "@angular/core": "2.0.1", 
    "@angular/platform-server": "2.0.1", 
} 

Twój problem może być z @ kątowej/platformy serwera, ale mam nadzieję, że to pomaga debugowanie