You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

typescript-axios openapi生成器导入报错TS1371/TS1444问题咨询

问题现象

Vue3 + TypeScript项目中,使用@openapitools/openapi-generator-cli的typescript-axios模板生成接口模型文件时,触发两类TypeScript导入错误:

TS1371: This import is never used as a value and must use 'import type' because 'importsNotUsedAsValues' is set to 'error'.
TS1444: 'ExampleDto' is a type and must be imported using a type-only import when 'preserveValueImports' and 'isolatedModules' are both enabled.

使用的生成命令如下:

npx @openapitools/openapi-generator-cli generate -i ../path/to/webapi-spec.yml -g typescript-axios -o ./src/generated/openapi --additional-properties=withSeparateModelsAndApi=true,apiPackage=api,modelPackage=models --global-property models

报错根因:Vue3脚手架创建的TS项目默认开启严格类型导入校验,要求所有仅作类型使用的导入必须使用import type语法,而默认配置下生成器输出的是普通值导入语句,不符合校验规则。

解决方法

方案1:修改生成器参数,直接输出合规代码(优先选择)

typescript-axios模板内置useTypeImports配置项,设为true后,生成的所有类型导入会自动采用import type语法,从根源避免报错。
修改生成命令,在--additional-properties中追加useTypeImports=true即可:

npx @openapitools/openapi-generator-cli generate -i ../path/to/webapi-spec.yml -g typescript-axios -o ./src/generated/openapi --additional-properties=withSeparateModelsAndApi=true,apiPackage=api,modelPackage=models,useTypeImports=true --global-property models

注意:该参数需要openapi-generator-cli版本≥6.0.0,本地版本过低的话先升级cli再执行。

方案2:生成后自动修正导入格式

受版本限制无法用上述参数的话,可在文件生成后通过工具批量修正导入语句:

  • 用ESLint自动修复:在项目ESLint配置中开启@typescript-eslint/consistent-type-imports: error规则,每次生成文件后执行eslint ./src/generated/openapi --fix,工具会自动把所有仅作类型使用的普通导入替换为import type格式。
  • 写脚本批量替换:写简易Node脚本遍历生成目录下的.ts文件,正则匹配模型间的导入语句统一替换为类型导入,生成命令执行完后跑一次脚本即可。

方案3:调整TS配置关闭校验(不推荐)

无严格导入校验需求的话,可修改根目录tsconfig.json关闭触发报错的配置项:
TypeScript 4.x版本配置:

{
  "compilerOptions": {
    "importsNotUsedAsValues": "remove",
    "preserveValueImports": false
  }
}

TypeScript 5.x及以上版本,上述两个配置已被整合,直接设置:

{
  "compilerOptions": {
    "verbatimModuleSyntax": false
  }
}

该方案会关闭全项目的类型导入校验,可能引入不必要的运行时打包依赖,非特殊兼容场景不建议使用。


内容的提问来源于stack exchange,提问作者lando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 17:39:41