ModuleConfig

模块系统的核心配置接口。

接口定义

interface ModuleConfig {
    links?: Record<string, string>;
    imports?: ModuleConfigImportMapping;
    scopes?: Record<string, ModuleConfigImportMapping>;
    exports?: ModuleConfigExportExports;
}
  • 类型: Record<string, string>
  • 描述: 模块链接配置。键为远程模块名称,值为模块构建产物目录路径。

imports

  • 类型: ModuleConfigImportMapping
  • 描述: 模块导入映射配置。键为本地模块标识符,值为远程模块路径。支持环境特定的配置。

scopes

  • 类型: Record<string, ModuleConfigImportMapping>
  • 描述: 模块范围映射配置。键为目录路径前缀,值为该范围内的导入映射配置。

exports

  • 类型: ModuleConfigExportExports
  • 描述: 模块导出配置。支持多种配置形式。

类型定义

ModuleConfigImportMapping

type ModuleConfigImportMapping = Record<
    string,
    string | Record<BuildEnvironment, string>
>;

导入映射配置类型,支持字符串和环境特定的配置。

ModuleConfigExportExports

type ModuleConfigExportExports = ModuleConfigExportExport[];

导出配置的数组类型,支持字符串和导出对象的混合数组。

ModuleConfigExportExport

type ModuleConfigExportExport = string | ModuleConfigExportObject;

导出配置项类型,支持字符串和导出对象两种形式。

ModuleConfigExportObject

type ModuleConfigExportObject = Record<
    string,
    ModuleConfigExportObjectValue
>;

导出对象配置类型,键为导出名称,值为导出配置值。

ModuleConfigExportObjectValue

type ModuleConfigExportObjectValue =
    | string
    | Record<BuildEnvironment, string | boolean>;

导出配置值类型,支持字符串和环境特定的配置。

BuildEnvironment

type BuildEnvironment = 'client' | 'server';

构建目标环境类型。

解析后接口

ParsedModuleConfig

interface ParsedModuleConfig {
    name: string;
    root: string;
    links: Record<string, ParsedModuleConfigLink>;
    environments: {
        client: ParsedModuleConfigEnvironment;
        server: ParsedModuleConfigEnvironment;
    };
}

ParsedModuleConfigEnvironment

interface ParsedModuleConfigEnvironment {
    imports: Record<string, string>;
    exports: ParsedModuleConfigExports;
    scopes: Record<string, Record<string, string>>;
}
interface ParsedModuleConfigLink {
    name: string;
    root: string;
    client: string;
    clientManifestJson: string;
    server: string;
    serverManifestJson: string;
}

ParsedModuleConfigExports

type ParsedModuleConfigExports = Record<
    string,
    ParsedModuleConfigExport
>;

解析后的导出配置记录类型,键为导出名称,值为导出配置对象。

ParsedModuleConfigExport

interface ParsedModuleConfigExport {
    name: string;
    file: string;
    pkg: boolean;
}