Angular CLI 버전 < 1.5.0에서 프로젝트의 RxJs 연산자를 단일 파일로 가져 와서 응용 프로그램 전체에서 사용할 수 있습니다.Angular CLI/WebPack 롤업을 사용하는 파이프 가능 RxJ 운영자의 올바른 가져 오기 패턴
즉
rxjs-operators.ts
// Statics
import 'rxjs/add/observable/throw';
import 'rxjs/add/observable/of';
import 'rxjs/add/observable/range';
import 'rxjs/add/observable/concat';
import 'rxjs/add/observable/merge';
import 'rxjs/add/observable/empty';
// Operators
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/toPromise';
...
app.module.ts RxJs pipe
운영자 가져 오기의 권장 사용으로
// OPERATORS
import './rxjs-operators';
@NgModule({
declarations: [
AppComponent
],
imports: [...],
providers: [...],
schemas: [
CUSTOM_ELEMENTS_SCHEMA
],
bootstrap: [AppComponent]
})
export class AppModule { }
예는 : 항상 개별 모듈 내에서 그것은에 사용됩니다.
아직 한 곳으로하거나 포함 할 필요가 있다면 이러한 연산자 및 정적 메소드를 모두 가져올 수있는 방법이 있는지 궁금 해요
...
import { Observable } from 'rxjs/Observable';
import 'rxjs/util/pipe';
import { take, catchError } from 'rxjs/operators';
@Injectable()
export class AccountDetailsResolver implements Resolve<AccountDetails> {
constructor(private membersApi: MembersApiService,
private router: Router,
private navigationManager: NavigationManagerService) {}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<AccountDetails> {
if(route.paramMap.get('accountId')) {
return this.membersApi.getBasicDetails(route.paramMap.get('accountId')).pipe(
catchError(error => {
this.navigationManager.navigateToDefaultScreen();
return Observable.of(null);
}),
take(1)
);
} else {
return Observable.of(null);
}
}
}
즉
Module
,
Component
는,
Service
이
Pipe
는,
Directive
는 등 각도 CLI 팀
replied에서