cosmiconfig-配置 cosmiconfig-setup

该技能用于配置和管理Node.js项目的分层配置文件加载。它支持从多种来源(如package.json、.rc文件、.config文件)和多种格式(JSON、YAML、TOML、JavaScript、TypeScript)中智能搜索和加载配置,并支持TypeScript、缓存和验证。适用于构建配置管理系统、CLI工具和服务器应用引导。关键词:Node.js配置管理,分层配置加载,cosmiconfig,TypeScript配置,配置文件搜索,CLI工具配置。

后端开发 0 次安装 0 次浏览 更新于 2/23/2026

名称: cosmiconfig-配置 描述: 为分层配置加载设置cosmiconfig,支持从多个来源和格式加载配置。 允许工具: 读取, 写入, 编辑, Bash, Glob, Grep

Cosmiconfig 配置

设置cosmiconfig以实现分层配置加载。

功能

  • 配置cosmiconfig搜索路径
  • 设置格式加载器(JSON, YAML, TOML)
  • 创建TypeScript配置支持
  • 实现配置缓存
  • 处理配置验证

生成模式

import { cosmiconfig, cosmiconfigSync } from 'cosmiconfig';
import { TypeScriptLoader } from 'cosmiconfig-typescript-loader';

const moduleName = 'myapp';

const explorer = cosmiconfig(moduleName, {
  searchPlaces: [
    'package.json',
    `.${moduleName}rc`,
    `.${moduleName}rc.json`,
    `.${moduleName}rc.yaml`,
    `.${moduleName}rc.yml`,
    `.${moduleName}rc.js`,
    `.${moduleName}rc.ts`,
    `.${moduleName}rc.cjs`,
    `${moduleName}.config.js`,
    `${moduleName}.config.ts`,
    `${moduleName}.config.cjs`,
  ],
  loaders: {
    '.ts': TypeScriptLoader(),
  },
});

export async function loadConfig(searchFrom?: string) {
  const result = await explorer.search(searchFrom);
  if (!result || result.isEmpty) {
    return { config: getDefaultConfig(), filepath: null };
  }
  return { config: { ...getDefaultConfig(), ...result.config }, filepath: result.filepath };
}

目标流程

  • 配置管理系统
  • CLI应用程序引导
  • MCP服务器引导