@@ -8,11 +8,11 @@ import { generateFetchWithTimeout } from "./fetch";
88
99import type { AxiosPromise , AxiosRequestConfig , AxiosResponse } from "axios" ;
1010
11- const buildFullPath = require ( "axios/lib/core/buildFullPath" ) ;
12- const settle = require ( "axios/lib/core/settle" ) ;
13- const defaults = require ( "axios/lib/defaults" ) ;
14- const buildURL = require ( "axios/lib/helpers/buildURL" ) ;
15- const { isUndefined } = require ( "axios/lib/utils" ) ;
11+ // const buildFullPath = require("axios/lib/core/buildFullPath");
12+ // const settle = require("axios/lib/core/settle");
13+ // const defaults = require("axios/lib/defaults");
14+ // const buildURL = require("axios/lib/helpers/buildURL");
15+ // const { isUndefined } = require("axios/lib/utils");
1616
1717export async function fetchAdapter ( config : AxiosRequestConfig ) : Promise < AxiosResponse < unknown > > {
1818 const { useMock } = config ;
@@ -21,20 +21,26 @@ export async function fetchAdapter(config: AxiosRequestConfig): Promise<AxiosRes
2121 console . warn ( `[axios] current request prefer use mock data, but do the original fetch` ) ;
2222 }
2323
24+ const internalModule = await import ( /* @vite -ignore */ "axios/lib/defaults/index.js" ) ;
25+
2426 let request : Request | null = null ;
2527 try {
26- request = createRequest ( config ) ;
28+ request = await createRequest ( config ) ;
2729 } catch ( err ) {
2830 if ( __DEV__ ) {
2931 console . error ( `fetch adapter create error, ${ ( err as Error ) . message } ` ) ;
3032 }
31- return defaults . adapter ( config ) as AxiosPromise ;
33+ return internalModule . default . adapter ( config ) as AxiosPromise ;
3234 }
3335
3436 const fetchPromise = getResponse ( request , config ) ;
3537
3638 const data = await fetchPromise ;
3739
40+ const _settle = await import ( /* @vite -ignore */ "axios/lib/core/settle.js" ) ;
41+
42+ const settle = _settle . default ? _settle . default : _settle ;
43+
3844 return new Promise ( ( resolve , reject ) => {
3945 if ( data instanceof Error ) {
4046 reject ( data ) ;
@@ -110,7 +116,7 @@ async function getResponse(request: Request, config: AxiosRequestConfig): Promis
110116/**
111117 * This function will create a Request object based on configuration's axios
112118 */
113- function createRequest ( config : AxiosRequestConfig ) : Request {
119+ async function createRequest ( config : AxiosRequestConfig ) : Promise < Request > {
114120 if ( typeof fetch === "undefined" ) {
115121 throw new Error ( "current env not have fetch function" ) ;
116122 }
@@ -151,6 +157,16 @@ function createRequest(config: AxiosRequestConfig): Request {
151157 }
152158 } ) ;
153159
160+ const _buildFullPath = await import ( /* @vite -ignore */ "axios/lib/core/buildFullPath.js" ) ;
161+
162+ const buildFullPath = _buildFullPath . default ? _buildFullPath . default : _buildFullPath ;
163+
164+ const _buildURL = await import ( /* @vite -ignore */ "axios/lib/helpers/buildURL.js" ) ;
165+
166+ const buildURL = _buildURL . default ? _buildURL . default : _buildURL ;
167+
168+ const { isUndefined } = await import ( /* @vite -ignore */ "axios/lib/utils.js" ) ;
169+
154170 // This config is similar to XHR’s withCredentials flag, but with three available values instead of two.
155171 // So if withCredentials is not set, default value 'same-origin' will be used
156172 if ( ! isUndefined ( config . withCredentials ) ) {
0 commit comments