Что-то не так с тем, как импорт модуля работает с пакетом RxJS.Всякий раз, когда он импортируется с использованием import * as rxjs from "rxjs"
, все экспортируемые функции присоединяются к свойству default
rxjs
.Затем вы должны уничтожить их из этого свойства вместо rxjs
.Например, это должно работать, если вы используете следующую команду:
Команда (обратите внимание на расширение .mjs
):
node --experimental-modules obs.mjs
Код:
import * as rxjs from 'rxjs';
const {range} = rxjs.default;
console.log(typeof range);
Вы также можете просто не использовать модули и просто использовать операторы require
:
Команда (обратите внимание на расширение non .mjs
):
node obs.js
Код:
const { range } = require("rxjs");
const { map, filter } = require("rxjs/operators");
range(1, 200).pipe(
filter(x => x % 2 === 1),
map(x => x + x)
).subscribe(x => console.log(x));
Также учтите этот вопрос на GitHub Предоставьте именованные экспорты # 3745