Solución:
Aquí hay un ejemplo simple de inicio de rxjs stackblitz:
- https://stackblitz.com/edit/js-gm1qso
En breve:
Asegúrese de tener una secuencia de comandos para agregar el archivo js rxjs (por ejemplo, de un CDN)
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.1.0/rxjs.umd.js">
Todo se importa bajo el espacio de nombres rxjs, así que para un uso de ejemplo simple:
rxjs.of(1, 2, 3)
.subscribe(x => {
const element = document.createElement('div');
element.innerText="Data: " + x;
document.body.appendChild(element)
},
err => { },
() => {
const element = document.createElement('div');
element.innerText="All done";
document.body.appendChild(element)
});
La sintaxis de exportación del módulo es6 está dentro de la subcarpeta _esm2015
. Entonces necesitas importar:
import { Observable, Subject, ReplaySubject, from, of, range } from 'https://dev.jspm.io/[email protected]/_esm2015';
import { map, filter, switchMap } from 'https://dev.jspm.io/[email protected]/_esm2015/operators';
Lamentablemente, no puedes simplemente instalar rxjs con npm install [email protected]
y luego import
en el navegador, porque a la fuente de distribución le falta la extensión del archivo .js
en el import
declaraciones: https://unpkg.com/@reactivex/[email protected]/dist/esm2015/index.js.
Pero el navegador necesita las extensiones de archivo para import
(por el momento): (https://developers.google.com/web/fundamentals/primers/modules#specifiers):
// Not supported (yet):
import {shout} from 'jquery';
import {shout} from 'lib.mjs';
import {shout} from 'modules/lib.mjs';
// Supported:
import {shout} from './lib.mjs';
import {shout} from '../lib.mjs';
import {shout} from '/modules/lib.mjs';
import {shout} from 'https://simple.example/modules/lib.mjs';
También hay un asunto para esto: https://github.com/ReactiveX/rxjs/issues/4416.
- Nota al margen: https://dev.jspm.io/[email protected]/ _esm2015 se resolverá en https://dev.jspm.io/[email protected]/_esm2015/index.js
Por ahora, debe confiar en https://jspm.io o hacer su propio paquete (por ejemplo, con enrollar como lo sugiere @Ovidiu Dolha).