@@ -8,11 +8,11 @@ import { generateFetchWithTimeout } from "./fetch";
8
8
9
9
import type { AxiosPromise , AxiosRequestConfig , AxiosResponse } from "axios" ;
10
10
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");
16
16
17
17
export async function fetchAdapter ( config : AxiosRequestConfig ) : Promise < AxiosResponse < unknown > > {
18
18
const { useMock } = config ;
@@ -21,20 +21,26 @@ export async function fetchAdapter(config: AxiosRequestConfig): Promise<AxiosRes
21
21
console . warn ( `[axios] current request prefer use mock data, but do the original fetch` ) ;
22
22
}
23
23
24
+ const internalModule = await import ( /* @vite -ignore */ "axios/lib/defaults/index.js" ) ;
25
+
24
26
let request : Request | null = null ;
25
27
try {
26
- request = createRequest ( config ) ;
28
+ request = await createRequest ( config ) ;
27
29
} catch ( err ) {
28
30
if ( __DEV__ ) {
29
31
console . error ( `fetch adapter create error, ${ ( err as Error ) . message } ` ) ;
30
32
}
31
- return defaults . adapter ( config ) as AxiosPromise ;
33
+ return internalModule . default . adapter ( config ) as AxiosPromise ;
32
34
}
33
35
34
36
const fetchPromise = getResponse ( request , config ) ;
35
37
36
38
const data = await fetchPromise ;
37
39
40
+ const _settle = await import ( /* @vite -ignore */ "axios/lib/core/settle.js" ) ;
41
+
42
+ const settle = _settle . default ? _settle . default : _settle ;
43
+
38
44
return new Promise ( ( resolve , reject ) => {
39
45
if ( data instanceof Error ) {
40
46
reject ( data ) ;
@@ -110,7 +116,7 @@ async function getResponse(request: Request, config: AxiosRequestConfig): Promis
110
116
/**
111
117
* This function will create a Request object based on configuration's axios
112
118
*/
113
- function createRequest ( config : AxiosRequestConfig ) : Request {
119
+ async function createRequest ( config : AxiosRequestConfig ) : Promise < Request > {
114
120
if ( typeof fetch === "undefined" ) {
115
121
throw new Error ( "current env not have fetch function" ) ;
116
122
}
@@ -151,6 +157,16 @@ function createRequest(config: AxiosRequestConfig): Request {
151
157
}
152
158
} ) ;
153
159
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
+
154
170
// This config is similar to XHR’s withCredentials flag, but with three available values instead of two.
155
171
// So if withCredentials is not set, default value 'same-origin' will be used
156
172
if ( ! isUndefined ( config . withCredentials ) ) {
0 commit comments