logo
  • 指南
  • API
  • 博客
  • 简体中文
    • 简体中文
    • English
    • @esmx/core
      Esmx
      App
      RenderContext
      ModuleConfig
      PackConfig
      ManifestJson
      App
      @esmx/rspack
      @esmx/rspack-vue

      最后更新于: 2025/11/20 02:27:42

      上一页RenderContext下一页PackConfig

      #ModuleConfig

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

      #接口定义

      interface ModuleConfig {
          links?: Record<string, string>;
          imports?: ModuleConfigImportMapping;
          scopes?: Record<string, ModuleConfigImportMapping>;
          exports?: ModuleConfigExportExports;
      }

      #links

      • 类型: 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>>;
      }

      #ParsedModuleConfigLink

      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;
      }