# @dashdot/factory 中文文档

规范地址：https://npmcn.com/package/%40dashdot/factory/

版本：0\.2\.2
npm 元数据更新时间：2026-07-16T17:01:46.991Z
中文译文更新时间：2026-11-14T09:46:14.276Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40dashdot/factory
原文对照：https://npmcn.com/package/%40dashdot/factory/?lang=original

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

- 包体积（解压后）：7.6 kB，13 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2021-04-16T08:59:09.183Z
- 最新版本发布：2023-04-14T06:53:06.231Z
- 近 30 天下载量：2089（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 0 个）

## 中文简介

任何持久性的简单工厂实施.

## 安装

```sh
npm install @dashdot/factory
```

也可以使用：`pnpm add @dashdot/factory`、`yarn add @dashdot/factory`、`bun add @dashdot/factory`

## README

# 达什多特工厂

[![build](https://github.com/wappla/factory/actions/workflows/on_push_main.yml/badge.svg?branch=main)](https://github.com/wappla/factory/actions/workflows/on_push_main.yml) [![codecov](https://codecov.io/gh/wappla/factory/branch/main/graph/badge.svg?token=DRM4BZC40Z)](https://codecov.io/gh/wappla/factory)

任何持久性的简单工厂实施.

## 使用量

在您的节点项目目录中, 运行如下 :

```sh
npm i --save @dashdot/factory
```

或与雅尔曰:

```sh
yarn add @dashdot/factory
```

### API 密码

```javascript
import faker from 'faker'
import Factory from '@dashdot/factory'
import { Post, User } from './models'

class MongoFactory extends Factory {
    static async persist(records) {
        const docs = await this.Model.insertMany(records)
        return docs.map((doc) => doc.toObject({
            virtuals: true,
            getters: true
        }))
    }
}

class PostFactory extends MongoFactory {
    static get Model() {
        return Post
    }

    static make() {
        return {
            title: faker.name.title(),
            content: faker.lorem.paragraphs(),
        }
    }
}

class UserFactory extends MongoFactory {
    static get Model() {
        return User
    }

    static make() {
        return {
            name: faker.name.firstName(),
            email: faker.unique(faker.internet.email),
        }
    }

    createPosts(records, states, data) {
        return PostFactory.create(records, states, {
            ...data,
            user: this.id,
        })
    }
}

const [user] = await UserFactory.create(1)
const posts = await user.createPosts(4)
```

## 常见问题

### @dashdot/factory 是什么？

任何持久性的简单工厂实施\.

### 如何安装 @dashdot/factory？

在项目目录运行 npm install @dashdot/factory，或使用 pnpm add / yarn add / bun add。

### @dashdot/factory 支持 TypeScript 吗？

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

### @dashdot/factory 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dashdot/factory 可以商用吗？

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

### @dashdot/factory 的下载量有多少？

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

### @dashdot/factory 还在维护吗？

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

