# @devbie/newbie 中文文档

规范地址：https://npmcn.com/package/%40devbie/newbie/

版本：1\.17\.0
npm 元数据更新时间：2026-11-09T00:57:51.376Z
中文译文更新时间：2026-11-12T02:23:00.462Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40devbie/newbie
原文对照：https://npmcn.com/package/%40devbie/newbie/?lang=original
项目主页：https://github.com/worldzhy/devbie#readme
源码仓库：https://github.com/worldzhy/devbie

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

- 包体积（解压后）：254 kB，149 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：14 个
- peer 依赖：rxjs ^7\.0\.0，express ^5\.0\.0，@nestjs/core ^11\.0\.0 \|\| ^12\.0\.0，@nestjs/axios ^4\.0\.0 \|\| ^12\.0\.0，@nestjs/common ^11\.0\.0 \|\| ^12\.0\.0，@nestjs/config ^4\.0\.0 \|\| ^12\.0\.0，@prisma/client ^7\.0\.0，@nestjs/swagger ^11\.0\.0 \|\| ^12\.0\.0，reflect-metadata ^0\.1\.12 \|\| ^0\.2\.0，@nestjs/throttler ^6\.0\.0，@prisma/adapter-pg ^7\.0\.0，@nestjs/platform-express ^11\.0\.0 \|\| ^12\.0\.0
- 首次发布：2026-09-25T10:41:00.659Z
- 最新版本发布：2026-11-09T00:57:51.232Z
- 近 30 天下载量：4498（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：33（近 12 个月 33 个）

## 中文简介

新bie后端框架运行时间

## 安装

```sh
npm install @devbie/newbie
```

也可以使用：`pnpm add @devbie/newbie`、`yarn add @devbie/newbie`、`bun add @devbie/newbie`

## README

# @devbie/ newbie (英语)

[![npm version](https://img.shields.io/npm/v/@devbie/newbie?style=flat-square)](https://www.npmjs.com/package/@devbie/newbie) [![license](https://img.shields.io/npm/l/@devbie/newbie?style=flat-square)](https://github.com/worldzhy/devbie/blob/dev/LICENSE)

包括电池在内的后端应用框架运行时间 [雀巢号11](https://nestjs.com/), (中文(简体) ), [普里斯玛7](https://www.prisma.io/) 财务报告和审定财务报表 [运通5](https://expressjs.com/)纽比给你一个制作准备 单调的靴子- 安全中间器件、 验证、 光标 平滑管、分层例外过滤链、扩展的Prisma接入和 可选的自我报告——不强迫你把它全部接通.

## 特征

-   **单打靴子** —— 说 `NewbieFactory.create()` 配置 CORS, cookie 解析、体解析、全球 `ValidationPipe`外壳(生产)和 Swagger(开发),然后启动HTTP服务器.
-   **全球框架单元** —— 说 `FrameworkModule.forRoot()` 安装配置 装入,限制速率, `HttpModule`,一个统一的响应拦截器和一个 五层例外过滤链.
-   **扩展 Prisma 集成** - 提供您生成的 `PrismaClient` 财务报告和审定财务报表 获得全局 `PrismaService` 支持已注册的客户端扩展 模块初始化后.
-   **查询参数管** - 光标指针、光标弹、命令和 `select`编号 :`include`编号 :`where` 解析 Prisma 驱动的列表终点 .
-   **共享的DTO和公用事业** - 请求/答复DTO和密码, 日期时间、阵列和其他常见帮助者.
-   **建造的可观察性** ——有限度要求的优雅停产 排水、观察-模式端口-跟踪恢复和内置后端显示器 探测器`BACKEND_MONITOR_ENDPOINT` + 键 `BACKEND_MONITOR_TOKEN`和 模块组合报告员(`MODULE_HUB_ENDPOINT` + 键 `MODULE_HUB_TOKEN`) (中文(简体) ).

## 所需资源

`@devbie/newbie` 是运行时库; NestJS, Prisma 和相关软件包是 声明为对等依赖, 因此您的工程控制其版本 :

| 同伴依赖关系 | 版本 |
| --- | --- |
| `@nestjs/common` | `^11.0.0` |
| `@nestjs/core` | `^11.0.0` |
| `@nestjs/platform-express` | `^11.0.0` |
| `@nestjs/config` | `^4.0.0` |
| `@nestjs/swagger` | `^11.0.0` |
| `@nestjs/throttler` | `^6.0.0` |
| `@nestjs/axios` | `^4.0.0` |
| `@prisma/client` | `^7.0.0` |
| `@prisma/adapter-pg` | `^7.0.0` |
| `express` | `^5.0.0` |

## 安装

```bash
npm install @devbie/newbie
```

## 快开始

登记册 `FrameworkModule.forRoot()` 在你的根模块中,并通过您的 生成 `PrismaClient` 构造器 :

```ts
// src/application/application.module.ts
import { Module } from "@nestjs/common";
import { FrameworkModule } from "@devbie/newbie";
import { PrismaClient } from "@generated/prisma/client";
import { ApplicationController } from "./application.controller";

@Module({
  imports: [FrameworkModule.forRoot({ prisma: { PrismaClient } })],
  controllers: [ApplicationController],
})
export class ApplicationModule {}
```

然后带靴子 `NewbieFactory`数字 :

```ts
// src/main.ts
import { NewbieFactory } from "@devbie/newbie";
import { ApplicationModule } from "./application/application.module";

async function bootstrap(): Promise<void> {
  await NewbieFactory.create(ApplicationModule, {
    swagger: { title: "My API" },
  });
}

void bootstrap();
```

获得这个结构的最快方法 就是用脚手架安装一个项目 伴侣 CLI :

```bash
npx @devbie/newbie-cli create my-app
```

## 新 Factory 选项

`NewbieFactory.create(rootModule, options)` 接受以下选项 (每个领域都是可选的):

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `environment` | `string` | `ENVIRONMENT` 或者说 `development` | `development` 允许斯瓦格; `production` 允许头盔. |
| `port` | `number` | `PORT` 或者说 `3000` | 打开 HTTP 服务器. |
| `corsAllowedOrigins` | `string[]` | `ALLOWED_ORIGINS` | 允许 CORS 源( 证书启用) . |
| `bodyLimit` | `string` | `10mb` | 最大请求体型 . |
| `requestTimeout` | `number` | `60000` | 请求超时, 以毫秒计 . |
| `keepAliveTimeout` | `number` | —— 说 | 保持超时 毫秒. |
| `logger` | `string[]` | `LOG_LEVEL` 或者说 `['log','warn','error']` | NestJS日志级别. |
| `swagger` | `object | false` | 已启用的开发 | 斯瓦格配置( S)`title`, (中文(简体) ), `description`, (中文(简体) ), `version`, (中文(简体) ), `path`,默认路径 `/api`) (中文(简体) ). |
| `portRaceRecovery` | `boolean` | `environment !== "production"` | 在比赛期间幸存的港口比赛 `nest start --watch` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}在捆绑地上. |
| `shutdownTimeoutMs` | `number` | `10000` | SIGTERM/SIGINT的飞行请求的宽限期. |
| `cluster` | `boolean` | `false` | 每个可用的CPU核心运行一个工人. |

### 什么框架线给你

-   `cookie-parser`JSON/URL编码机身解析器,并总是 `text/plain` 解析( SDKs 监视器报告通过 `navigator.sendBeacon`) (中文(简体) ).
-   具有证书的 CORS, 加上 v4 (扩展) Express 查询解析器 。 路线 装饰 `@AllowAnyOrigin()` 回复 `Access-Control-Allow-Origin: *` (包括飞行前),而所有其他路线则保留原产地白名单.
-   全球 `ValidationPipe` 与 `transform` 财务报告和审定财务报表 `whitelist` 启用 .
-   生产中的头盔; 开发中的Swagger UI(cookie +无记名认证).
-   全球节流器守护( 默认情况下每端点有1,000个请求 / 第二个请求) .
-   反应形状 `HttpResponseInterceptor`。 。 。 .
-   例外过滤器按优先顺序排列: 节流器 → Prisma → 新起子 → HTTP → 包罗万象,所以每一次失败都有一个一致的错误信封.
-   收听后的内幕记者:心跳(`HEARTBEAT_*`页:1 (单位:千美元)`MODULE_HUB_*`)和依赖性健康(`HEALTH_*`; 检查总是运行 POST 在端点未设置时被跳过 .

## 列出终点和查询管道

将查询参数翻译为 Prisma 参数的新船管:

-   `WherePipe` - 分析a `where` 查询参数进入 Prisma 过滤器.
-   `OrderByPipe` ——解析顺序参数.
-   `SelectIncludePipe` - 剖析 `select` 编号 : `include` 参数.
-   `CursorPipe` 编号 : `CursorSlugPipe` ——按键集(cursor)发卡参数.

共用的DTO(`CommonListRequestDto`, (中文(简体) ), `CommonListResponseDto`, (中文(简体) ), `CommonGetByStringIdRequestDto`, (中文(简体) ), `CommonGetByNumberIdRequestDto`保存列表 各个模块的终点一致。 这个 `@Cookies()` 参数装饰器 提供对请求 cookie 的打入.

## 环境变量

| 变量 | 用于 |
| --- | --- |
| `ENVIRONMENT` | `development` 或者说 `production`。 。 。 . |
| `PORT` | HTTP 听端口. |
| `ALLOWED_ORIGINS` | 逗号分离的 CORS 源列表 . |
| `LOG_LEVEL` | 以逗号分隔的NestJS日志级别(例如. `log,warn,error`) (中文(简体) ). |
| `MODULE_HUB_ENDPOINT` | 完整报告 URL; 启用模块- hub 自动报告, 当设置在一起时 `MODULE_HUB_TOKEN`。 。 。 . |
| `MODULE_HUB_TOKEN` | 托肯送入模块中枢. |

当两者 `MODULE_HUB_ENDPOINT` 财务报告和审定财务报表 `MODULE_HUB_TOKEN` 在座的有: 框架自动发送每60个启动时的完整快照和平分 秒数。 报告是火与忘却的,从来不会阻碍应用程序的启动.

## 相关软件包

-   [`@devbie/newbie-cli`](https://www.npmjs.com/package/@devbie/newbie-cli) —— 说 脚手架项目和从新单元注册处安装模块.
-   [`@devbie/heartbeat-sdk`](https://www.npmjs.com/package/@devbie/heartbeat-sdk) ——框架不可知安装活性报告.
-   [`@devbie/web-monitor-sdk`](https://www.npmjs.com/package/@devbie/web-monitor-sdk) ——浏览器侧光电,AJAX,资源与JS错误报告.

## 许可证

[麻省理工学院](https://github.com/worldzhy/devbie/blob/dev/LICENSE)

## 常见问题

### @devbie/newbie 是什么？

新bie后端框架运行时间

### 如何安装 @devbie/newbie？

在项目目录运行 npm install @devbie/newbie，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：rxjs（^7\.0\.0）、express（^5\.0\.0）、@nestjs/core（^11\.0\.0 \|\| ^12\.0\.0）、@nestjs/axios（^4\.0\.0 \|\| ^12\.0\.0）、@nestjs/common（^11\.0\.0 \|\| ^12\.0\.0）、@nestjs/config（^4\.0\.0 \|\| ^12\.0\.0）、@prisma/client（^7\.0\.0）、@nestjs/swagger（^11\.0\.0 \|\| ^12\.0\.0）、reflect-metadata（^0\.1\.12 \|\| ^0\.2\.0）、@nestjs/throttler（^6\.0\.0）、@prisma/adapter-pg（^7\.0\.0）、@nestjs/platform-express（^11\.0\.0 \|\| ^12\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @devbie/newbie 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @devbie/newbie 支持 ESM 还是 CommonJS？

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

### @devbie/newbie 需要什么版本的 Node\.js？

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

### @devbie/newbie 可以商用吗？

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

### @devbie/newbie 的下载量有多少？

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

### @devbie/newbie 还在维护吗？

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

