# @alt3/sequelize-to-json-schemas 中文文档

规范地址：https://npmcn.com/package/%40alt3/sequelize-to-json-schemas/

版本：0\.3\.56
npm 元数据更新时间：2022-04-04T13:39:27.426Z
中文译文更新时间：2026-11-05T22:20:06.063Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40alt3/sequelize-to-json-schemas
原文对照：https://npmcn.com/package/%40alt3/sequelize-to-json-schemas/?lang=original
项目主页：https://github.com/alt3/sequelize-to-json-schemas#readme
源码仓库：https://github.com/alt3/sequelize-to-json-schemas

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：60.8 kB，11 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=8
- 运行依赖：0 个
- 首次发布：2019-08-22T11:48:57.159Z
- 最新版本发布：2021-06-14T18:54:20.396Z
- 近 30 天下载量：30124（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：69（近 12 个月 0 个）

## 中文简介

将模型序列化为各种 JSON Schema 变体(使用策略模式)

## 安装

```sh
npm install @alt3/sequelize-to-json-schemas
```

也可以使用：`pnpm add @alt3/sequelize-to-json-schemas`、`yarn add @alt3/sequelize-to-json-schemas`、`bun add @alt3/sequelize-to-json-schemas`

## README

[![NPM Version](https://img.shields.io/npm/v/@alt3/sequelize-to-json-schemas?style=flat-square)](https://www.npmjs.com/package/@alt3/sequelize-to-json-schemas) [![Build Status](https://img.shields.io/travis/alt3/sequelize-to-json-schemas/master.svg?style=flat-square)](https://travis-ci.org/alt3/sequelize-to-json-schemas) [![Known Vulnerabilities](https://snyk.io/test/github/alt3/sequelize-to-json-schemas/badge.svg)](https://snyk.io/test/github/alt3/sequelize-to-json-schemas) ![NPM Total Downloads](https://img.shields.io/npm/dt/@alt3/sequelize-to-json-schemas.svg?style=flat-square) [![Code Coverage](https://img.shields.io/codecov/c/github/alt3/sequelize-to-json-schemas.svg?style=flat-square)](https://codecov.io/gh/alt3/sequelize-to-json-schemas) [![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/alt3/sequelize-to-json-schemas?style=flat-square)](https://codeclimate.com/github/alt3/sequelize-to-json-schemas) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org/) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg?style=flat-square)](https://www.contributor-covenant.org/version/2/0/code_of_conduct)

# 续集至json-schemas

将模型序列化为这些 JSON Schema 变体( 使用策略模式) :

-   JSON Schema 07号草案 - [样本产出](https://npmcn.com/package/%40alt3/sequelize-to-json-schemas/examples/json-schema-v7.md)
-   打开API 3.0 - [样本产出](https://npmcn.com/package/%40alt3/sequelize-to-json-schemas/examples/openapi-v3.md)

与Sequelize版本4、5和6相兼容.

## 主要目标

-   可理解的代码, 高度可维护
-   有效的计划(由 [页:1](https://github.com/epoberezkin/ajv) 财务报告和审定财务报表 [斯瓦格解析器](https://github.com/APIDevTools/swagger-parser) 验证符)
-   JsonSchema管理器,用于所有战略共享的单一(岩石固态)核心功能
-   简化实施新方案的战略界面

> 对缺失的策略 自由使用公关策略

## 安装

```bash
npm install @alt3/sequelize-to-json-schemas --save
```

## 使用量

```javascript
const { JsonSchemaManager, JsonSchema7Strategy, OpenApi3Strategy } = require('@alt3/sequelize-to-json-schemas');
const schemaManager = new JsonSchemaManager();

// now generate a JSON Schema Draft-07 model schema
let schema = schemaManager.generate(userModel, new JsonSchema7Strategy());

// and/or the OpenAPI 3.0 equivalent
schema = schemaManager.generate(userModel, new OpenApi3Strategy());
```

## 配置选项

要配置全局选项, 请使用 JsonSchemaManager 初始化 :

```javascript
const schemaManager = new JsonSchemaManager({
  baseUri: '/',
  absolutePaths: true,
  secureSchemaUri: true,
  disableComments: true,
});
```

要配置( 每) 模型选项使用 `generate()` 方法 :

```javascript
const userSchema = schemaManager.generate(userModel, strategy, {
  title: 'Custom model title',
  description: 'Custom model description',
  exclude: ['someAttribute'],
  include: ['someAttribute'],
  associations: true,
  excludeAssociations: ['someAssociation'],
  includeAssociations: ['someAssociation'],
});
```

以下序列化属性选项自动转换为 计划属性 :

```javascript
module.exports = (sequelize) => {
  const model = sequelize.define('user', {
    userName: {
      type: DataTypes.STRING,
      allowNull: true,
      defaultValue: 'Default Value',
      associate: {},
    },
  });

  return model;
};
```

要配置额外的计划属性,请添加一个 `jsonSchema` 属性为 下列一个或数个自定义选项来排序属性:

```javascript
module.exports = (sequelize) => {
  const model = sequelize.define('user', {
    userName: {
      type: DataTypes.STRING,
      jsonSchema: {
        description: 'Custom attribute description',
        comment: 'Custom attribute comment',
        examples: ['Custom example 1', 'Custom example 2'],
        readOnly: true, // OR writeOnly: true
      },
    },
  });

  return model;
};
```

为了创建有效的输出 `JSON` 列,或以其他方式覆盖 附加一个 `schema` 属性 :

```javascript
module.exports = (sequelize) => {
  const model = sequelize.define('user', {
    // ...
    settings: {
      type: DataTypes.JSON,
      jsonSchema: {
        schema: { type: 'object' },
      },
    },
  });

  return model;
};
```

## 框架整合

<table><tbody><tr><td align="center"><a href="https://github.com/alt3/sequelize-to-json-schemas/issues/17" rel="nofollow noopener noreferrer"><img alt="" src="https://raw.githubusercontent.com/feathersjs/docs/master/.vuepress/public/img/logo-title.jpg" width="100px;" loading="lazy" decoding="async" referrerpolicy="no-referrer"><br><h3>羽毛</h3></a></td></tr></tbody></table>

## 许可证

本项目于 [麻省理工学院](https://npmcn.com/package/%40alt3/sequelize-to-json-schemas/LICENSE.txt)。 。 。 .

## 捐款

请参看 [提交文件的准则](https://npmcn.com/package/%40alt3/sequelize-to-json-schemas/contributing.md)。 。 。 .

## 常见问题

### @alt3/sequelize-to-json-schemas 是什么？

将模型序列化为各种 JSON Schema 变体\(使用策略模式\)

### 如何安装 @alt3/sequelize-to-json-schemas？

在项目目录运行 npm install @alt3/sequelize-to-json-schemas，或使用 pnpm add / yarn add / bun add。

### @alt3/sequelize-to-json-schemas 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/alt3\_\_sequelize-to-json-schemas 是否存在。

### @alt3/sequelize-to-json-schemas 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @alt3/sequelize-to-json-schemas 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=8。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @alt3/sequelize-to-json-schemas 可以商用吗？

@alt3/sequelize-to-json-schemas 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @alt3/sequelize-to-json-schemas 的下载量有多少？

根据 npm 官方下载统计，@alt3/sequelize-to-json-schemas 在 2026/10/06 – 2026/11/04 这 30 天内被下载 30,124 次，日均约 1,004 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @alt3/sequelize-to-json-schemas 还在维护吗？

最新版本 0\.3\.56 发布于 2021/06/15（5 年前）；至今共发布 69 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/08/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

