1+ import path from 'node:path' ;
12import { pkgName } from '../const' ;
23import type { OpenApi3 } from '../types/openapi' ;
34import { never } from '../utils/func' ;
@@ -24,6 +25,7 @@ import { JsDoc } from './JsDoc';
2425import { Named } from './Named' ;
2526import { Schemata } from './Schemata' ;
2627import type { PrinterOptions , PrinterConfigs , RequestStatusCodeMatch } from './types' ;
28+ import { toRelative } from '../utils/path' ;
2729
2830const allowMethods = [ 'get' , 'put' , 'post' , 'delete' , 'options' , 'head' , 'patch' , 'trace' ] ;
2931
@@ -95,7 +97,7 @@ export class Printer {
9597 private _printImports ( ) {
9698 const {
9799 axiosImportName = AXIOS_IMPORT_NAME ,
98- axiosNamedImport : axiosNamedImport ,
100+ axiosNamedImport,
99101 axiosImportFile = AXIOS_IMPORT_FILE ,
100102 axiosRequestConfigTypeName = AXIOS_QUEST_CONFIG_TYPE_NAME ,
101103 axiosResponseTypeName = AXIOS_PROMISE_TYPE_NAME ,
@@ -104,15 +106,17 @@ export class Printer {
104106 const firstServer = this . document . servers ?. [ 0 ] ;
105107 const defaultBaseURL = firstServer ?. url || '/' ;
106108 const BASE_URL = isString ( baseURL ) ? baseURL : baseURL ?.( this . document ) || defaultBaseURL ;
109+ const { file } = this . configs ;
110+ const importPath = toRelative ( axiosImportFile , file ) ;
107111
108112 return [
109113 //
110114 axiosNamedImport
111115 ? // 具名导入
112- `import {${ axiosImportName } } from "${ axiosImportFile } ";`
116+ `import {${ axiosImportName } } from "${ importPath } ";`
113117 : // 默认导入
114- `import ${ axiosImportName } from "${ axiosImportFile } ";` ,
115- `import type {${ axiosRequestConfigTypeName } , ${ axiosResponseTypeName } } from "${ axiosImportFile } ";` ,
118+ `import ${ axiosImportName } from "${ importPath } ";` ,
119+ `import type {${ axiosRequestConfigTypeName } , ${ axiosResponseTypeName } } from "${ importPath } ";` ,
116120 `import {resolveURL} from "${ pkgName } /client";` ,
117121 `import type {OneOf} from "${ pkgName } /client";` ,
118122 '' ,
0 commit comments