文档中心

探索 DWeb 框架的无限可能,构建下一代高性能 Web 应用

ConfigManager (配置管理器)

`ConfigManager` 统一管理应用配置的加载、验证和访问,提供类型安全的配置访问和配置合并功能。

概述

ConfigManager 封装了配置加载逻辑,提供统一的配置访问接口。

快速开始

基本使用

Code
// main.ts
import { ConfigManager } from "@dreamer/dweb";

// 创建配置管理器
const configManager = new ConfigManager("dweb.config.ts");

// 加载配置
await configManager.load();

// 获取配置
const config = configManager.getConfig();
const port = config.server?.port;

多应用模式

Code
// 加载特定应用的配置
const configManager = new ConfigManager("dweb.config.ts", "backend");
await configManager.load();
const config = configManager.getConfig();

程序化设置配置

Code
// 直接设置配置(用于测试或特殊场景)
import { ConfigManager } from "@dreamer/dweb";
import type { AppConfig } from "@dreamer/dweb";

const configManager = new ConfigManager();

// 直接设置配置
const config: AppConfig = {
  server: { port: 3000 },
  routes: { dir: "routes" },
};

configManager.setConfig(config);
const loadedConfig = configManager.getConfig();

API 参考

构造函数

Code
constructor(configPath?: string, appName?: string)

**参数:**

  • configPath (可选): 配置文件路径,如果不提供则自动查找 dweb.config.ts
  • appName (可选): 应用名称,用于多应用模式

方法

load()

加载配置文件。功能:从配置文件加载配置、验证配置格式、规范化配置值。

Code
await configManager.load();

getConfig()

获取配置对象。

Code
const config = configManager.getConfig();

getConfigDir()

获取配置文件所在目录。

Code
const configDir = configManager.getConfigDir();

setConfig(config)

直接设置配置(用于测试或特殊场景)。

Code
configManager.setConfig(config);

isLoaded()

检查配置是否已加载。

Code
if (configManager.isLoaded()) {
  const config = configManager.getConfig();
}

相关文档