Saltar al contenido

¿Importando RxJS 6 en el navegador?

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).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *