简介
@mark.probst/typescript-json-schema 是一个 npm 包,它可以将 TypeScript 的类型定义转换为 JSON Schema。该包的优势在于可以帮助前端开发者更好地在 TypeScript 和 JSON Schema 之间切换,从而更容易地构建出高质量的应用。
安装
可以通过 npm 或 yarn 来安装该包:
npm install @mark.probst/typescript-json-schema # or yarn add @mark.probst/typescript-json-schema
使用方法
该包提供了一个 CLI 工具和一个 Node.js API 供使用。
CLI 工具
CLI 工具可以安装全局或在项目中使用。在终端输入以下命令来生成 JSON Schema 文件:
ts-json-schema-generator path/to/file.ts -o path/to/schema.json
其中 -o
表示输出路径,生成的 JSON Schema 文件将会保存在指定路径下。
Node.js API
Node.js API 可以在 JavaScript 或 TypeScript 代码中使用。首先需要引入该包,然后调用该包提供的 generateSchema
函数即可。以下是一个 TypeScript 示例:
import { generateSchema } from '@mark.probst/typescript-json-schema'; import { writeFileSync } from 'fs'; const schema = generateSchema<typeof MyType>({/* TypeScript 类型定义*/}); writeFileSync('./path/to/schema.json', JSON.stringify(schema, null, 2));
其中 {/* TypeScript 类型定义*/}
处应填写需要转换为 JSON Schema 的 TypeScript 类型定义。
示例
以下是一个简单的 TypeScript 类型定义示例:
interface User { id: number; name: string; email: string; }
使用该包将该类型定义转换为 JSON Schema:
import { generateSchema } from '@mark.probst/typescript-json-schema'; import { writeFileSync } from 'fs'; const schema = generateSchema<User>({/* TypeScript 类型定义*/}); writeFileSync('./path/to/schema.json', JSON.stringify(schema, null, 2));
生成的 JSON Schema 文件如下:
-- -------------------- ---- ------- - ---------- ------------------------------------------ ------- --------- ----------------------- ------ ----------- ------ ------- --------- ------------- - ----- - ------- -------- -- ------- - ------- -------- -- -------- - ------- -------- - - -
总结
@mark.probst/typescript-json-schema 可以帮助前端开发者更好地在 TypeScript 和 JSON Schema 之间切换,从而更容易地构建出高质量的应用。本文介绍了该包的安装和使用方法,并提供了示例代码。希望本文对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb92ab5cbfe1ea061187f