使用 OpenAPI Typescript Codegen 代码生成器

目录

  • OpenAPI Typescript Codegen 的使用
    • 安装:`npm install openapi-typescript-codegen --save-dev`
    • 用法:`openapi --input ./spec.json --output ./generated --client xhr`
      • ❎ 解决报错:zsh: command not found: openapi
        • 原因:openapi-typescript-codegen 安装后没有将其加入到系统的 PATH 中,或者需要使用 npx 命令来运行它。
        • 解决方法1:使用 npx 运行 openapi 命令:`npx openapi --input http://localhost:3000/swagger.json --output ./generated --client axios`
        • 解决方法2:添加 openapi-typescript-codegen 到全局环境中:`npm install -g openapi-typescript-codegen`
        • 解决方法3:确保 node_modules/.bin 目录在你的 PATH 中:

传统情况下,对于每个请求前端都要单独编写代码。至少也得写一个请求路径。
现在使用 OpenAPI Typescript Codegen ,只需一个指令就能生成所有调用后端接口的代码了。

OpenAPI Typescript Codegen 的使用

安装:npm install openapi-typescript-codegen --save-dev

npm install openapi-typescript-codegen --save-dev

用法:openapi --input ./spec.json --output ./generated --client xhr

$ openapi --help

  Usage: openapi [options]

  Options:
    -V, --version             output the version number
    -i, --input <value>       OpenAPI specification, can be a path, url or string content (required)
    -o, --output <value>      Output directory (required)
    -c, --client <value>      HTTP client to generate [fetch, xhr, node, axios, angular] (default: "fetch")
    --name <value>            Custom client class name
    --useOptions              Use options instead of arguments
    --useUnionTypes           Use union types instead of enums
    --exportCore <value>      Write core files to disk (default: true)
    --exportServices <value>  Write services to disk (default: true)
    --exportModels <value>    Write models to disk (default: true)
    --exportSchemas <value>   Write schemas to disk (default: false)
    --indent <value>          Indentation options [4, 2, tab] (default: "4")
    --postfixServices         Service name postfix (default: "Service")
    --postfixModels           Model name postfix
    --request <value>         Path to custom request file
    -h, --help                display help for command

  Examples
    $ openapi --input ./spec.json --output ./generated
    $ openapi --input ./spec.json --output ./generated --client xhr

❎ 解决报错:zsh: command not found: openapi

原因:openapi-typescript-codegen 安装后没有将其加入到系统的 PATH 中,或者需要使用 npx 命令来运行它。
解决方法1:使用 npx 运行 openapi 命令:npx openapi --input http://localhost:3000/swagger.json --output ./generated --client axios

npx 是一个用于运行项目依赖中的可执行文件的工具,可以确保正确查找和运行 openapi。

npx openapi --input http://localhost:3000/swagger.json --output ./generated --client axios
解决方法2:添加 openapi-typescript-codegen 到全局环境中:npm install -g openapi-typescript-codegen

使用 -g 标志将该工具安装到全局环境中,然后应该就能够在命令行中直接运行 openapi。

npm install -g openapi-typescript-codegen
解决方法3:确保 node_modules/.bin 目录在你的 PATH 中:

可以将 node_modules/.bin 目录添加到你的 PATH 环境变量中,以便在命令行中直接运行项目依赖中的可执行文件。这通常可以通过修改你的 shell 配置文件(如 .zshrc 或 .bashrc)来实现。
以下是一个示例命令:

export PATH="./node_modules/.bin:$PATH"

根据你的操作系统和 Shell 类型进行相应的配置。

你可能感兴趣的:(代码生成器,typescript,javascript,前端)