Skip to content

CodeSandbox 在线示例

以下示例托管在 GitHub 仓库的 examples/ 目录中,可通过 CodeSandbox 直接在线运行。

URL 格式:https://codesandbox.io/p/sandbox/github/kaokei/di/tree/main/examples/<示例目录>

示例说明在线运行
01-basic-usage基础用法:创建容器、绑定服务、属性注入、单例验证打开
02-token-usageToken 用法:Token 实例作为标识符,三种绑定方式打开
03-optional-injectOptional 注入:依赖不存在时返回 undefined打开
04-hierarchical-di层级容器:父子容器创建与依赖查找打开
05-self-skipselfSelf 和 SkipSelf:控制依赖查找范围打开
06-lifecycle-activation激活生命周期:onActivation 钩子与执行顺序打开
07-lifecycle-deactivation销毁生命周期:onDeactivation 钩子与执行顺序打开
08-post-constructPostConstruct:同步/异步初始化与继承行为打开
09-pre-destroyPreDestroy:服务销毁前的清理钩子打开
10-circular-dependency循环依赖:属性注入原生支持循环依赖打开
11-lazy-injectLazyInject:延迟注入,首次访问时才从容器解析打开
12-inheritance继承:子类继承父类的属性注入与 PostConstruct 规则打开
13-to-servicetoService 别名:接口 token 映射到实现类打开
14-dynamic-value动态值:toDynamicValue 工厂函数与条件注入打开
15-error-handling错误处理:各种错误类型的触发场景与捕获方式打开
16-javascript-usageJavaScript 用法:使用 decorate 函数手动应用装饰器打开
17-container-destroy容器销毁:destroy 递归销毁子容器与 getContainerOf打开
18-deep-circular-dependency深层循环依赖:属性注入支持深层循环链,以及循环依赖检测打开
19-transient-scope瞬态作用域:每次 get 返回新实例,对比单例模式打开
20-get-async异步获取服务:使用 getAsync 等待 PostConstruct 完成打开
21-token-type-decouplingTokenType 解耦:使用 Token + TokenType 实现服务间解耦打开
22-autobindautobind:自动绑定方法 this,解决回调丢失 this 问题打开

每个示例目录包含独立的 package.json(依赖已发布的 @kaokei/di 版本)和 tsconfig.json,与主包构建流程完全隔离,可直接在 CodeSandbox 中运行。