模块系统的核心配置接口。
interface ModuleConfig {
links?: Record<string, string>;
imports?: ModuleConfigImportMapping;
scopes?: Record<string, ModuleConfigImportMapping>;
exports?: ModuleConfigExportExports;
}Record<string, string>ModuleConfigImportMappingRecord<string, ModuleConfigImportMapping>ModuleConfigExportExportstype ModuleConfigImportMapping = Record<
string,
string | Record<BuildEnvironment, string>
>;导入映射配置类型,支持字符串和环境特定的配置。
type ModuleConfigExportExports = ModuleConfigExportExport[];导出配置的数组类型,支持字符串和导出对象的混合数组。
type ModuleConfigExportExport = string | ModuleConfigExportObject;导出配置项类型,支持字符串和导出对象两种形式。
type ModuleConfigExportObject = Record<
string,
ModuleConfigExportObjectValue
>;导出对象配置类型,键为导出名称,值为导出配置值。
type ModuleConfigExportObjectValue =
| string
| Record<BuildEnvironment, string | boolean>;导出配置值类型,支持字符串和环境特定的配置。
type BuildEnvironment = 'client' | 'server';构建目标环境类型。
interface ParsedModuleConfig {
name: string;
root: string;
links: Record<string, ParsedModuleConfigLink>;
environments: {
client: ParsedModuleConfigEnvironment;
server: 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;
}type ParsedModuleConfigExports = Record<
string,
ParsedModuleConfigExport
>;解析后的导出配置记录类型,键为导出名称,值为导出配置对象。
interface ParsedModuleConfigExport {
name: string;
file: string;
pkg: boolean;
}