Skip to content

Config配置

模块可以单独提供自己的 Config 配置

定义Config

以模块a-demo为例,定义模块的 Config 配置:

src/suite/a-demo/modules/a-demo/src/config/config.ts

typescript
export const config: ZovaConfigOptional = (_app: ZovaApplication) => {
  return {
    prompt: 'Hello World',
  };
};
  • 直接定义所需要的配置字段即可,系统会自动提取 Config 的类型信息

使用Config

可以通过 Scope 实例获取模块的 Config 配置

typescript
export class TestA {
  protected async __init__() {
    const message = this.scope.config.prompt;
    console.log(message);
  }
}
  • 动图演示 scope-config

跨模块使用Config

typescript
import type { ScopeModuleADemo } from 'zova-module-a-demo';

export class TestA {
  @UseScope('a-demo')
  scopeModuleADemo: ScopeModuleADemo;

  protected async __init__() {
    const message = this.scopeModuleADemo.config.prompt;
    console.log(message);
  }
}

覆盖Config配置

可以使用项目级别的 Config 配置覆盖模块级别的 Config 配置

src/front/config/config/config.ts

typescript
export default function (_meta: ZovaConfigMeta) {
  const config = {};

  // modules
  config.modules = {
    'a-demo': {
      prompt: 'Hello World!!!',
    },
  };

  return config;
}
  • 将模块a-demoprompt修改为Hello World!!!

基于 MIT 许可发布