Очередное обновление(кашель, жаль, что забыли эту опцию)
Если вы хотите, чтобы избежать добавления индивидуально операторы, которые можно импортировать полный Rx, делая
import {Observable, Subject, ReplaySubject, etc...} from 'rxjs/Rx';
У вас будут все операторы :)
Update альфа 50 (08/12/2015)
Вскоре после того, как альфа-49 был выпущен, они выпустили альфа 50. Эта версия модернизирована rxjs к альфа 14. Таким образом, вы будете хорошо идти, делая
npm install [email protected]
npm install [email protected]
Update альфа 49 (08/12/2015)
в настоящее время alpha 49 был освобожден, и это не изменится, а это значит, это будет оставаться во времени. Оригинальный ответ остается в силе с некоторыми изменениями, пути изменились rjxs, поэтому он должен быть следующим:
System.config({
paths: {
'rxjs/add/observable/*' : 'node_modules/rxjs/add/observable/*.js',
'rxjs/add/operator/*' : 'node_modules/rxjs/add/operator/*.js',
'rxjs/*' : 'node_modules/rxjs/*.js'
}
});
import 'rxjs/add/operator/map';
Примечание
Эта версия требует именно версию alpha 13
, так что если в вашем package.json
у вас уже есть другая версия, вам придется удалить ее, установить angular2, а затем установить rjxs.
Update
CHANGELOG был обновлен, чтобы показать это изменение разрывной. Есть comment from @jeffbcross в issue #5642, который разъясняет LOT в этом вопросе.
Цитирование части этого комментария
Модульности была целью нового RxJS проекта с самого начала, и он не был до недавнего времени, что мы начали действительно становимся серьезным о составлении операторов вместо того, чтобы полагаться на многоуровневой систему распределения Rx.
Оригинальный ответ
Был на самом деле критическое изменение в отношении RxJS и Angular2. Итак, теперь для использования операторов, таких как map
, вы должны импортировать их отдельно. Вы можете увидеть изменение в этом pull request. И уже есть issue о вашем вопросе.
Я рекомендую вам придерживаться альфы 47. Но всем, кто нуждается и хочет знать, что такое решение, как в запросе на растяжение, указано, добавить оператора отдельно.
Вы должны иметь что-то вроде этого
import {Http, ...} ...;
// Component
constructor(http: Http) {
http.get(...).map() // 'map' doesn't exist! Ouch!
}
Чтобы это исправить, добавьте оператор (извините за повторение это так много раз) и настроить пути к rxjs
Примечание
Это должно быть сделано с помощью RxJS alpha 11 или alpha 12 (не путать его с @reactivex/rxjs
, теперь это просто rxjs
). Так установить его с
npm install [email protected]
npm install rxjs
или просто, если вы хотите, последнее, хотя они lock it быть альфа 11.
Настройка пути в вашем System.config (обратите внимание, что это мой конфиг, не обязательно самый лучший и я предполагаю, что вы установили альфа 11)
System.config({
paths: {
'rxjs/observable/*' : 'node_modules/rxjs/observable/*.js',
'rxjs/operators/*' : 'node_modules/rxjs/operators/*.js',
'rxjs/*' : 'node_modules/rxjs/*.js'
}
});
После того, как вы закончите с настройкой, вы можете импортировать оператор следующим
import 'rxjs/operators/map';
И все. Вам придется делать это с каждым оператором. Поэтому я повторяю, я рекомендую вам придерживаться альфы 47, как я уже говорил вам в комментарии. Я попытаюсь обновить ответ позже с помощью plnkr.
Придерживайтесь альфы 47. Они [обсуждают] (https://gitter.im/angular/angular?at=56636ef95057376520dbc193), что делать с отправкой углового2 вместе с RxJS. –