文档中心
探索 DWeb 框架的无限可能,构建下一代高性能 Web 应用
Application (应用核心)
`Application` 类是 DWeb 框架的统一入口,管理所有组件和服务,提供面向对象的应用管理方式。
核心特性
- 生命周期管理: 完整的应用生命周期钩子(Initialize, Start, Stop, Error)。
- 依赖注入容器: 内置
ServiceContainer,支持 Singleton、Transient、Scoped 三种生命周期,实现模块解耦。 - 事件驱动架构: 基于
EventEmitter,支持全局事件总线,实现组件间的解耦通信。 - 多应用支持: 支持单体和多应用(Monorepo)架构。
- 统一错误处理: 内置全局异常捕获和统一的错误响应格式。
- 自动配置: 支持约定优于配置,自动加载
dweb.config.ts和环境变量。
事件驱动架构
Application 类继承自 EventEmitter,作为全局事件总线,允许不同组件通过事件进行通信,而无需直接依赖。
Code
统一错误处理
框架内置了全局错误处理机制,能够捕获路由处理、中间件和生命周期中的异常,并返回统一格式的错误响应。
- 自动捕获: 自动捕获同步和异步错误。
- 内容协商: 根据请求头自动返回 JSON 或 HTML 格式的错误信息。
- 自定义处理: 支持注册自定义
ErrorHandler来覆盖默认行为。
快速开始
基本使用
Code
使用配置文件
Code
程序化配置
Code
注册中间件和插件
Code
获取服务
通过 getService 方法获取已注册的服务:
Code
完整示例
Code
API 参考
构造函数
Code
**参数:**
configPath(可选): 配置文件路径,如果不提供则自动查找dweb.config.tsappName(可选): 应用名称,用于多应用模式
方法
initialize()
初始化应用,加载配置、注册服务、初始化路由和服务器。
Code
start()
启动应用,启动服务器并进入运行状态。
Code
stop()
停止应用,停止服务器并清理资源。
Code
getService<T>(token)
获取已注册的服务。
Code