2016-03-10 10 views
5

SystemJS sembra caricare i moduli rxjs senza un problema, ma genera un 404 non trovato nella directory rxjs stessa. Tutti i moduli sono l'ultima versione e questo sembra essere un problema su Windows, funziona su osx.Directory root RxJS non trovata da SystemJS

GET http://localhost:8080/node_modules/rxjs/ 404 (Not Found)

errore: Errore XHR (404 Not Found) XHR terminato il caricamento:: Errore GET "localhost: 8080/node_modules/rxjs/Subject.js".

XHR caricamento terminato: OTTENERE "localhost: 8080/node_modules/rxjs/operator/toPromise.js".

Module loads & Error

<script> 
 
    System.config({ 
 
     packages: { 
 
      app: { 
 
       format: 'register', 
 
       defaultExtension: 'js', 
 

 
      }, 
 
      'components':{ format: 'register' }, 
 
      'rxjs': {defaultExtension: 'js'} 
 
     }, 
 
     map: {'app': '/components', 
 
      'rxjs': '../node_modules/rxjs', 
 
      }, 
 

 

 
    }); 
 
    System.import('components/notes.js') 
 
      .then(null, console.error.bind(console)); 
 
</script>

+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
+-- [email protected] 
| +-- [email protected] 
| `-- [email protected] 
+-- [email protected] 
`-- [email protected] 
    `-- [email protected] 

Ho fissato questo, sembra che il modo in cui mi importava rxjs nei miei Ts è stata sconsigliata:

modificata da

import {Subject, Observable} from 'rxjs';

a:

import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; import { map } from 'rxjs/operator/map';

+0

strana cosa, ma ci sono molti consigli su come utilizzare la libreria rxjs, ma questa è l'unica che funziona! usi veramente 'da 'rxjs/Observable'' invece di' da' rxjs'' – sinedsem

+0

Solo ... wow ... JS dovrebbe essere proibito dalla legge! –

risposta

0

Anch'io penso che non sia necessario aggiungere rxjs in System.config. Si prenderà automaticamente cura di esso. Come menzionato qui in A2 5min Quick Start devi solo aggiungere <script src="node_modules/rxjs/bundles/Rx.js"></script> al tuo index.html e indirizzare il tuo SystemJS al tuo componente principale, resto ci penserà il resto.

+0

ha aggiunto l'istruzione import modificata per rxjs che ha risolto il problema. – user2040800

1

Non si dovrebbe aggiungere rxjs cose speciali nella vostra configurazione del sistema. SystemJs supporta le ricerche dei moduli node_modules per impostazione predefinita.

+0

Ce l'ho , ma senza di esso ottengo [altro] errori di caricamento per i componenti rxjs e anche l'errore menzionato sopra. così aggiunto come per questo post: http://stackoverflow.com/questions/34318885/how-to-load-rxjs-and-zone-js-reflect-metadata-with-angular-2-beta-and-newer. – user2040800