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 의 많은 선행 기술에 의존합니다. 비슷한 논리가 나타날 수 있으며 이는 예상된 것입니다.