oxid
관찰 가능한 rxjs 기반 동형 http 요청 모듈입니다.
여기에는 rxjs@6
의 피어 종속성이 있으며 이것도 설치해야 합니다.
npm 설치 산화
Oxid는 기본 인스턴스 oxid
내보내고 Oxid
클래스를 노출하여 별도의 인스턴스를 구성합니다.
import { oxy, Oxid } from 'oxy';oxy.get('url', options).subscribe();const anotherInstance = new Oxid(customConfigurations);anotherInstance.get('url', options).subscribe();
Oxid의 모든 인터페이스는 Observable<HttpEvent<T>>
반환하여 기본 request
함수에서 http 메서드 함수를 구독할 수 있도록 해줍니다.
type requestMethodType = <T>(url: string, config?: RequestConfig) => Observable<HttpEvent<T>>;type requestMethodWithDataType = <T, U>(url: string, data?: T, config?: RequestConfig) = > 관찰 가능<HttpEvent<U>>;class Oxid { 공개 읽기 전용 삭제: requestMethodType; 공개 읽기 전용 가져오기: requestMethodType; 공개 읽기 전용 헤드: requestMethodType; 공개 읽기 전용 옵션: requestMethodType; 공개 읽기 전용 게시물: requestMethodWithDataType; 공개 읽기 전용 put: requestMethodWithDataType; 공개 읽기 전용 패치: requestMethodWithDataType; 공개 요청<T 확장 객체 | string = any>(url: string, config?: RequestConfig): Observable<HttpEvent<T>>; 공개 요청<T 확장 객체 | string = any>(url: string): Observable<HttpEvent<T>>; 공개 요청<T 확장 객체 | string = any>(config: RequestConfig): Observable<HttpEvent<T>>; 공개 요청<T 확장 객체 | 문자열 = 모두>(urlOrConfig: RequestConfig | string,config?: RequestConfig ): 관찰 가능<HttpEvent<T>> {
Oxid에는 기본 구성 값 세트가 포함되어 있습니다. 이 값은 요청 인스턴스 oxid
사용할 때 사용됩니다. 클래스를 통해 새 인스턴스를 생성할 때 기본적으로 옵션 값이 포함되지 않으므로 클래스 생성자를 통해 지정해야 합니다. 그러나 개별 메소드( request()
및 나머지)는 RequestConfig
별도로 허용하며, 이는 인스턴스가 생성될 때 구성에 병합됩니다.
인터페이스 RequestConfigBase { URL?: 문자열; 방법?: 방법; baseURL?: 문자열; 변환요청?: 변환기 | 배열<변환기>; 변환응답?: 변환기 | 배열<변환기>; 헤더?: 모두; 매개변수?: 모두; paramsSerializer?: (params: any) => 문자열; 데이터?: 없음; 어댑터?: 어댑터; 인증?: BasicCredentials; 응답 유형?: 응답 유형; responseEncoding?: 문자열; xsrfCookieName?: 문자열; xsrfHeaderName?: 문자열; maxContentLength?: 숫자; verifyStatus?: (상태: 번호) => 부울; maxRedirects?: 숫자; 소켓 경로?: 문자열 | 널; 프록시?: ProxyConfig;} 인터페이스 RequestConfigNode는 RequestConfigBase를 확장합니다. /** * 노드 http 요청에 사용되는 사용자 정의 에이전트입니다. */ httpAgent?: 모두; /** * 노드 https 요청에 사용되는 사용자 지정 에이전트입니다. */ httpsAgent?: 모두; Transport?: { 요청: typeof import('http').request };}인터페이스 RequestConfigBrowser는 RequestConfigBase를 확장합니다. /** * xhr 요청에 대한 진행 이벤트를 내보냅니다. */ 보고진행?: 부울; withCredentials?: 부울;}
import {oxy, Oxid, defaultOptions} from 'oxy';oxy.get(url); //`defaultOptions`를 사용합니다.oxy.get({url, withCredentials: false}); //`defaultOptions`를 사용하고 `withCredentials`를 재정의합니다. const another = new Oxid(); //기본 구성 없음const anotherWithConfig = new oxy({withCredendials: false}) //기본 구성 설정anotherWithConfig.get({url, withCredentials: false}) //인스턴스가 생성될 때 구성을 사용하고 `withCredentials`를 재정의합니다.
defaultOptions
객체는 변경할 수 없습니다. 기존 기본 구성 값을 변경하거나 재할당하는 것은 작동하지 않으며 대신 새 구성 개체를 빌드해야 합니다.
Oxid 자체에는 로그를 작성하는 메커니즘이 없습니다. 대신, 애플리케이션에 사용되는 로거를 연결하는 기능을 노출합니다.
함수 활성화Logger(로거: logFunctionType): void;함수 활성화Logger(로거: Partial<Logger>): void;
단일 함수이거나 개체에 디버그, 정보, 경고, 오류와 같은 로그 수준이 있을 수 있습니다. 참고 사항 enableLogger
모든 산화 인스턴스에 영향을 미치는 전역 함수 이며, enableLogger
호출된 후에 한 번만 로그 내보내기를 시작합니다.
import {enableLogger, oxy } from 'oxy';// 로그는 방출되지 않습니다. ().구독하다();
빌드/테스트 코드에는 npm 스크립트가 거의 지원되지 않습니다.
build
: 코드를 dist
로 트랜스파일합니다.
build:clean
: 기존 빌드를 정리합니다.
test
: 단위 테스트를 실행합니다. 테스트를 실행하기 전에 build
필요하지 않습니다.
lint
: 모든 코드베이스에 대해 lint를 실행합니다.
이 모듈은 공식적으로 관련이 없지만 axios
및 @angular/http
의 많은 선행 기술에 의존합니다. 비슷한 논리가 나타날 수 있으며 이는 예상된 것입니다.