Попытка создать минималистичное приложение на чистом js с помощью rxjs

#javascript #rxjs

#javascript #rxjs

Вопрос:

Попытка создать минималистичное приложение на чистом js с помощью rxjs.

Поток:

  1. npm install rxjs
  2. index.html
  3. myscript.js

Index.html:

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">    
    <script src="node_modules/rxjs/bundles/rxjs.umd.min.js" ></script> 
    <script src="myscript.js"></script>    
    <title>Document</title>
</head>
<body>    
</body>
</html>
  

myscript.js:

 rxjs.Observable.FromEvent(document, 'mousemove')
    .subscribe(()=> console.log("text!"));
  

Я получаю сообщение об ошибке «Uncaught TypeError: rxjs.Observable.FromEvent не является функцией «

попытка импорта не удалась:

импортируйте ‘rxjs/add/ observable/FromEvent’; //Синтаксическая ошибка: неожиданная строка

или

импорт { FromEvent } из ‘rxjs’; //Ошибка синтаксиса: неожиданный токен {

Что я делаю не так? Как попробовать rxjs на чистом js?

Комментарии:

1. Попробуйте import { from, fromEvent } from 'rxjs';

2. Для CDN вы можете использовать unpkg: <script src="https://unpkg.com/rxjs/bundles/rxjs.umd.min.js"></script> Затем, javascript const { range } = rxjs; const { map, filter } = rxjs.operators;

3. Спасибо за ваши ответы, ребята.

Ответ №1:

Для RxJS v6 возьмите заводские функции rxjs и операторы из rxjs.operators .

Вот пример с источником CDN:

 var { fromEvent } = rxjs;
var { map } = rxjs.operators;


var theButton = document.getElementById('the-btn');

fromEvent(theButton, 'click').pipe(
  // pipe some operators here
  map(() => Date.now())
).subscribe(date => {
  console.log('Clicked at '   date);
});  
 <script src="https://unpkg.com/rxjs@6.4.0/bundles/rxjs.umd.min.js"></script>

<button
  id="the-btn"
  >Clicker</button>  

Комментарии:

1. Большое вам спасибо