@ 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/otel | OtelModule 财务报告和审定财务报表 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解决节点本土直方图的四个问题:原始直方图 Durationsrecord(0)掷出ERR_OUT_OF_RANGE1下的价值被记录为1 空直方图报告 min9223372036854776000 (英语),meanNaN一个空快照是 { count: 0 }percentiles是一个Map联 合 国bigint,顺序排序为{}percentile(n)返回数字mean成本42.2我们没有 mean
许可证
麻省理工学院