generate-models

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

生成 TypeScript 模型(通用技能)

生成 TypeScript 模型(通用技能)

使用底层命令,不包含本地脚本包装。
使用底层命令,不包含本地脚本包装。

前置条件

前置条件

在目标项目安装 aptx 包,并确保可执行
aptx-ft
bash
pnpm add -D @aptx/frontend-tk-cli
在目标项目安装 aptx 包,并确保可执行
aptx-ft
bash
pnpm add -D @aptx/frontend-tk-cli

项目类型参数建议(执行前必须确认)

项目类型参数建议(执行前必须确认)

先判断项目类型,再给出建议参数;必须等待用户确认最终参数后再执行命令。
先判断项目类型,再给出建议参数;必须等待用户确认最终参数后再执行命令。

单项目(应用代码在
src/

单项目(应用代码在
src/

  • 推荐输出:
    --output ./src/models
  • 推荐风格:
    --style module
  • 按需限制模型:
    --name <Schema>
示例:
bash
pnpm exec aptx-ft -i ./openapi.json model gen --output ./src/models --style module
  • 推荐输出:
    --output ./src/models
  • 推荐风格:
    --style module
  • 按需限制模型:
    --name <Schema>
示例:
bash
pnpm exec aptx-ft -i ./openapi.json model gen --output ./src/models --style module

Monorepo(共享模型包)

Monorepo(共享模型包)

  • 推荐输出:
    --output ./packages/models/src
  • 推荐风格:
    --style module
  • 如只想增量生成,使用
    --name
    限制范围
示例:
bash
pnpm exec aptx-ft -i ./openapi.json model gen --output ./packages/models/src --style module
  • 推荐输出:
    --output ./packages/models/src
  • 推荐风格:
    --style module
  • 如只想增量生成,使用
    --name
    限制范围
示例:
bash
pnpm exec aptx-ft -i ./openapi.json model gen --output ./packages/models/src --style module

执行步骤

执行步骤

  1. 准备输入(本地文件或 URL)。
  2. 询问用户关键参数并确认:
    • 输出目录:推荐
      ./src/models
      (单项目)或
      ./packages/models/src
      (Monorepo)
    • 生成风格(必问):
      • module
        (默认):生成 ES Module 格式,每个类型独立 export,适合现代前端项目
      • declaration
        :生成单一声明文件,适合需要全局类型声明或兼容旧项目的场景
    • 选择性生成(可选):如只需部分模型,使用
      --name
      指定(可多次使用)
  3. 向用户展示完整命令并确认后执行。
  4. 执行命令并返回生成结果。
bash
pnpm exec aptx-ft -i <spec-file-or-url> model gen --output <output-dir> --style <module|declaration>
注意:
--style
默认值为
module
,如需
declaration
风格需显式指定。
示例:
bash
undefined
  1. 准备输入(本地文件或 URL)。
  2. 询问用户关键参数并确认:
    • 输出目录:推荐
      ./src/models
      (单项目)或
      ./packages/models/src
      (Monorepo)
    • 生成风格(必问):
      • module
        (默认):生成 ES Module 格式,每个类型独立 export,适合现代前端项目
      • declaration
        :生成单一声明文件,适合需要全局类型声明或兼容旧项目的场景
    • 选择性生成(可选):如只需部分模型,使用
      --name
      指定(可多次使用)
  3. 向用户展示完整命令并确认后执行。
  4. 执行命令并返回生成结果。
bash
pnpm exec aptx-ft -i <spec-file-or-url> model gen --output <output-dir> --style <module|declaration>
注意:
--style
默认值为
module
,如需
declaration
风格需显式指定。
示例:
bash
undefined

使用默认 module 风格

使用默认 module 风格

pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models
pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models

显式指定 module 风格

显式指定 module 风格

pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models --style module
pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models --style module

使用 declaration 风格(单一声明文件)

使用 declaration 风格(单一声明文件)

pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models --style declaration
pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models --style declaration

选择性生成特定模型

选择性生成特定模型

pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models --name User --name Role

可选(未使用 pnpm 时):

```bash
npx aptx-ft -i ./openapi.json model gen --output ./generated/models --style module
pnpm exec aptx-ft -i ./openapi.json model gen --output ./generated/models --name User --name Role

可选(未使用 pnpm 时):

```bash
npx aptx-ft -i ./openapi.json model gen --output ./generated/models --style module

输出

输出

  • TypeScript 模型文件(interface/enum)。
  • 不包含请求层代码。
  • TypeScript 模型文件(interface/enum)。
  • 不包含请求层代码。

边界

边界

  • 需要同时生成模型与请求框架时,使用
    generate-artifacts
  • 需要 Materal 专用枚举适配时,使用
    adapt-materal-enums
  • 需要同时生成模型与请求框架时,使用
    generate-artifacts
  • 需要 Materal 专用枚举适配时,使用
    adapt-materal-enums