# 0db-repl 中文文档

规范地址：https://npmcn.com/package/0db-repl/

版本：0\.0\.1
npm 元数据更新时间：2022-04-04T10:08:39.873Z
中文译文更新时间：2026-10-31T12:30:03.287Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/0db-repl
原文对照：https://npmcn.com/package/0db-repl/?lang=original

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

- 包体积（解压后）：574 kB，6 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：4 个
- 首次发布：2021-10-05T01:28:44.845Z
- 最新版本发布：2021-10-05T01:28:45.070Z
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

用于测试0db数据库的REPL游乐场。

## 安装

```sh
npm install 0db-repl
```

也可以使用：`pnpm add 0db-repl`、`yarn add 0db-repl`、`bun add 0db-repl`

## README

# dao️0db REPL

[![NPM version](https://badge.fury.io/js/0db.svg)](https://npmjs.org/package/0db-repl) [![NodeJS](https://img.shields.io/badge/node-blue?logo=node.js)](https://github.com/topics/node) [![JavaScript](https://img.shields.io/badge/javascript-blue?logo=javascript)](https://github.com/topics/javascript) [![Web](https://img.shields.io/badge/web-blue?logo=w3c)](https://github.com/topics/web)

用于测试的REPL游乐场 [**0分贝**](https://github.com/Ambratolm/0db).

> 这是一个nodeJS REPL，附带了一些方便的上下文变量，可以轻松地在命令行上使用0db。

![Screenshot](https://npmcn.com/package/0db-repl/screenshot.gif?raw=true)

-   [📥安装](https://npmcn.com/package/0db-repl/#readme-%F0%9F%93%A5-installation)
-   [ℹ️用法](https://npmcn.com/package/0db-repl/#readme-%E2%84%B9%EF%B8%8F-usage)
    -   [上下文变量:](https://npmcn.com/package/0db-repl/#readme-context-variables)
        -   [`$0db`](https://npmcn.com/package/0db-repl/#readme-0db)
        -   [`db`](https://npmcn.com/package/0db-repl/#readme-db)
        -   [`faker`](https://npmcn.com/package/0db-repl/#readme-faker)
        -   [`gen`](https://npmcn.com/package/0db-repl/#readme-gen)
        -   [`cls`](https://npmcn.com/package/0db-repl/#readme-cls)
        -   [`help`](https://npmcn.com/package/0db-repl/#readme-help)
-   [🚀发展](https://npmcn.com/package/0db-repl/#readme-%F0%9F%9A%80-development)
    -   [🏭环境](https://npmcn.com/package/0db-repl/#readme-%F0%9F%8F%AD-environment)
    -   [🌑应用程序](https://npmcn.com/package/0db-repl/#readme-%F0%9F%8C%91-application)
-   [📃许可证](https://npmcn.com/package/0db-repl/#readme-%F0%9F%93%83-license)

## 📥安装

```bash
npm i 0db-repl -g
```

## ℹ️用法

发射使用:

```bash
0db
```

类型 `help()` 查看所有可用上下文变量的描述。

### 上下文变量:

上下文变量是已经定义并可在REPL会话期间使用的对象和函数。

#### `$0db`

[0分贝](https://github.com/Ambratolm/0db) 对象。

🎯例子:

```js
► const myDb = await $0db("my-db.json")
```

#### `db`

使用默认文件的默认实例 `./db.json` 准备使用。

🎯例子:

```js
► await db("users").create({ name: "ambratolm" })
```

#### `faker`

伪数据生成器生成一些真实的模拟数据。(见: [Faker.JS](https://npmjs.com/package/faker)）

🎯例子:

```js
► faker.name.firstName()
► faker.name.lastName()
► faker.name.gender()
► faker.internet.userName()
► faker.internet.email()
► faker.internet.password()
```

```js
► await db("users").create({
    name: faker.internet.userName(),
    email: faker.internet.email(),
    password: faker.internet.password()
  })
```

#### `gen`

内置示例数据对象生成器（使用faker），它具有一些函数来生成可添加到数据库中的示例对象。

-   `gen.user(count?)` :生成 `user` 对象。
    
    -   参数:
        -   `count` :数量, _可选_． 要生成的对象数量。 **默认值:1**.
    -   返回一个 **对象** 如果 `count <= 1`，否则 **数组** 的对象。
    
    `user` 对象基于此模式：
    
    ```js
    {
      name: String,
      firstName: String,
      lastName: String,
      gender: String,
      email: String,
      password: String,
      points: Number
    }
    ```
    
    🎯例子:
    
    ```js
    ► gen.user() // Returns 1 user object
    ► gen.user(100) // Returns an array of 100 user objects
    ```
    
    ```js
    ► await db("users").create(gen.user())
    ```
    
-   `gen.note(author?, count?)` :生成 `note` 对象。
    
    -   参数:
        -   `author` :字符串, _可选_． 注释作者的标识符(预期为 `$id` 已创建的字段 `user` 对象)。
        -   `count` :数量, _可选_． 要生成的对象数量。 **默认值:1**.
    -   返回一个 **对象** 如果 `count <= 1`，否则 **数组** 的对象。
    
    `note` 对象基于此模式：
    
    ```js
    {
      author: String,
      title: String,
      content: String
    }
    ```
    
    🎯例子:
    
    ```js
    ► const user = await db("users").create(gen.user()) // Create a user item
    ► gen.note(user.$id) // Returns 1 note object
    ► gen.note(user.$id, 100) // Returns an array of 100 note objects
    ```
    
    ```js
    ► const user = await db("users").create(gen.user())
    ► await db("notes").create(gen.note(user.$id))
    ```
    

#### `cls`

清除屏幕。

🎯例子:

```js
► cls()
```

#### `help`

显示所有上下文变量的描述。

-   参数:
    -   `name` :字符串, _可选_． 要显示描述的特定上下文对象或函数的名称。

🎯例子:

```js
► help() // Shows all descriptions
► help("db") // Shows description only for "db" function
► help("gen") // Shows description only for "gen" object
```

## 🚀发展

1.  克隆存储库。
    
    ```bash
    cd somewhere
    git clone https://github.com/practical-works/0db-repl.git
    cd 0db-repl
    ```
    
2.  安装依赖关系: `npm i`
    
3.  运行:
    
    -   `npm run dev` 为发展。
    -   `npm start` 用于生产。

💡在开发中，您可以键入 `rs` 手动重启。(见: [Nodemon](https://www.npmjs.com/package/nodemon)）

### 🏭环境

-   运行时: [**NodeJS**](https://github.com/nodejs)
-   包经理: [**NPM**](https://github.com/npm)
-   编辑器: [**崇高的文本**](https://www.sublimetext.com/)

### 🌑应用程序

-   ⚛️核心:
    -   主要: [**NodeJS**](https://github.com/nodejs/node) / [**0分贝**](https://github.com/Ambratolm/0db)
    -   REPL: [**Local-REPL**](https://github.com/sloria/local-repl)
-   🔧跑龙套:
    -   模拟数据生成： [**Faker.JS**](https://github.com/Marak/Faker.js)
    -   控制台颜色: [**颜色**](https://github.com/Marak/colors.js)

## 📃许可证

下许可 [麻省理工学院](https://npmcn.com/package/0db-repl/LICENSE).

## 常见问题

### 0db-repl 是什么？

用于测试0db数据库的REPL游乐场。

### 如何安装 0db-repl？

在项目目录运行 npm install 0db-repl，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 0db，可以用 npx 0db 直接运行。

### 0db-repl 支持 TypeScript 吗？

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

### 0db-repl 支持 ESM 还是 CommonJS？

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

### 0db-repl 可以商用吗？

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

### 0db-repl 还在维护吗？

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

