javascript - Directorio raíz de RxJS no encontrado por SystemJS
Parece que SystemJS carga los módulos de rxjs sin problema, pero lanza un 404 Not Found en el directorio de rxjs en sí. Todos los módulos son la versión más reciente y esto solo parece ser un problema en Windows, funciona en OSX.
OBTENER http://localhost:8080/node_modules/rxjs/ 404 (No encontrado)
Error: Error: error XHR (404 No Encontrado) XHR terminó de cargar: GET " localhost:8080/node_modules/rxjs/Subject.js".
XHR terminó de cargar: GET "localhost:8080/node_modules/rxjs/operator/toPromise.js".
Carga del módulo y 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
+-- [email
+-- [email
+-- [email
+-- [email
+-- [email
+-- [email
+-- [email
| +-- [email
| `-- [email
+-- [email
`-- [email
`-- [email
Arreglé esto, parece que la forma en que estaba importando rxjs en mi .ts estaba obsoleta:
cambiado de
import {Subject, Observable} from 'rxjs';a :
import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; import { map } from 'rxjs/operator/map';
Respuesta #1
No deberías agregar cosas especiales de rxjs en la configuración de tu sistema. SystemJs admite búsquedas de módulos en node_modules por defecto.
Respuesta #2
Yo también creo que no necesitas agregar rxjs en tu System.config. Se encargará automáticamente. Como se menciona aquí en A2 5min Quick Start, solo tienes que agregar <script src="node_modules/rxjs/bundles/Rx.js"></script> a tu index.html y apuntar tu SystemJS a tu componente principal, el resto se encargará por sí mismo.