@dunx/core

中文文档
3.10.6发布于 2026/10/30MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 6237

Dunx 框架的 DI 容器、模块、生命周期和可注入的 Logger 合同

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 这是什么
  4. 子路径
  5. 页:1
  6. 许可证

@ dunx/ 核心

依赖性注射容器、模块、生命周期、配置和 Logger 财务报告和审定财务报表 RequestContext 合同 双关。 。 。 .

无依取相. 其它 dunx 包可以注入一个 Logger 无 安装一个日志库.

安装

bun add @dunx/core @dunx/transform

使用量

构造器注入不需要装饰器 :

import { AppFactory, Module } from '@dunx/core';

export class UsersService {
  constructor(private readonly repo: UsersRepository) {}
}

@Module({
  providers: [UsersRepository, UsersService],
  exports: [UsersService], // absent means nothing is exported
})
export class UsersModule {}

const app = await AppFactory.create(AppModule);

你不需要这样 @Injectable, (中文(简体) ), @Inject, (中文(简体) ), reflect-metadata 或者说 experimentalDecorators。 。 。 . @dunx/transform 读取每个构造器的参数 文件加载时的类型。 打开它 bunfig.toml一次给应用程序,一次给 用于测试:

preload = ["@dunx/transform/preload"]

[test]
preload = ["@dunx/transform/preload"]

这是什么

区域它包含什么指南
供应商建构剂注射, provide(), (中文(简体) ), token(), (中文(简体) ), inject()供应商
模块范围界定, imports, (中文(简体) ), exports, (中文(简体) ), global, (中文(简体) ), forRoot模块
生命周期onInit, (中文(简体) ), onBeforeShutdown, (中文(简体) ), onShutdown,信号处理器生命周期
配置ConfigModule.forRoot页:1 validate 函数或一个 schema配置
日志这个 Logger 合同和 ConsoleLogger日志
活动EventBus, (中文(简体) ), AppEvent, (中文(简体) ), @OnEvent, (中文(简体) ), EventRegistry活动
状态Durations, (中文(简体) ), Counter, (中文(简体) ), Gauge, (中文(简体) ), RuntimeStats, (中文(简体) ), EventLoopLag计量
复原力ResiliencePolicy超时 重试 后退 焦躁 后退, CircuitBreaker, (中文(简体) ), Bulkhead复原力
追踪这个 Tracer 合同, NoopTracer,以及 OtelModule 打开 /otel追踪

子路径

子路径包含
@dunx/core上所为所取. 从未进口 @opentelemetry/api
@dunx/core/otelOtelModule 财务报告和审定财务报表 OtelTracer,在可选对等点上 @opentelemetry/api
bun add @opentelemetry/api   # only for @dunx/core/otel, ^1.4.0

@opentelemetry/api 是一个对等的依赖,以便您的 SDK 和 Dunx 使用 同样的副本。 如果安装了两个拷贝,跨度可以不出错地丢失. dunx 不包括 SDK 或 出口者: 在打电话前先登记自己的 create。 。 。 .

页:1

  • 每个单元都是自己的范围. 一个模块可以使用它宣布的和什么 它导入的模块。 列出其他模块在 exports· ; 离开 exports 出局后,什么也没有分享. global: true 制作模块 到处都有出口.

  • 如果一个构造参数的类型在运行时不存在(接口, a) 原始、联合或只输入类型), 启动失败, 命名错误 该参数。你从来没有得到一个沉默 undefined参数 默认值维持其默认值.

  • Logger, (中文(简体) ), RequestContext 财务报告和审定财务报表 Tracer 总是可以注射。 默认 为: ConsoleLogger, (中文(简体) ), AsyncRequestContext 联 合 国 AsyncLocalStorage和 NoopTracer,而绑定一个模块取代默认值. @dunx/http 依赖此程序可以在没有日志模块的应用程序中登录请求 .

  • ConsoleLogger 收藏 info 并降低到每一次事件记录一次. warn 上面写着,和在他们面前等待的.

  • 统计类只使用 node:perf_hooks 财务报告和审定财务报表 process,所以软件包 仍然没有依附关系.

  • Durations 解决节点本土直方图的四个问题:

    原始直方图Durations
    record(0) 掷出 ERR_OUT_OF_RANGE1下的价值被记录为1
    空直方图报告 min 9223372036854776000 (英语), mean NaN一个空快照是 { count: 0 }
    percentiles 是一个 Map 联 合 国 bigint,顺序排序为 {}percentile(n) 返回数字
    mean 成本42.2我们没有 mean

许可证

麻省理工学院

版本与发布记录

@dunx/core 共发布 83 个版本,首次发布于 2026/08/02;过去 12 个月发布了 83 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.10.6latest2026/10/3014 天前
3.10.52026/10/2222 天前
3.10.42026/10/2024 天前
3.10.32026/10/1430 天前
3.10.22026/10/081 个月前
3.10.12026/09/261 个月前

关于 @dunx/core 的常见问题

@dunx/core 是什么?

Dunx 框架的 DI 容器、模块、生命周期和可注入的 Logger 合同

如何安装 @dunx/core?

在项目目录运行 npm install @dunx/core,或使用 pnpm add / yarn add / bun add。

@dunx/core 支持 TypeScript 吗?

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

@dunx/core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dunx/core 可以商用吗?

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

@dunx/core 的下载量有多少?

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

@dunx/core 还在维护吗?

最新版本 3.10.6 发布于 2026/10/30(14 天前);至今共发布 83 个版本,其中过去 12 个月发布了 83 个;首次发布于 2026/08/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。