文档
API
Types

Types

PluginConfig

插件参数类型

export interface PluginConfig {
  name: string;
  path?: string;
  package?: string;
  async?: boolean;
  lifeHook?: 'beforeStart' | 'appDidReady' | 'afterStart';
  priority?: number;
}
字段必选说明
name当前插件配置的唯一标识name, 跟config.default.ts中字段保持一致, name 字段很有用,它用来标识是否有重复插件插件覆盖的能力
packagenpm包插件名,例如: @yunflyjs/yunfly-plugin-redis。 (备注:packagepath必须有一个字段为真)
path本地开发插件目录地址 (备注:packagepath必须有一个字段为真)
async是否时同步插件
lifeHook插件执行的生命周期
priority插件的权重
import { PluginConfig } from '@yunflyjs/yunfly';
 
const plugins: PluginConfig[] = [
  {
    name: 'routingControllersExample',
    package: '@yunflyjs/yunfly-plugin-controller-example'
  }
];
export default plugins;

KoaApp

koa 实例化对象类型

config.middleware.ts
import { KoaApp, Config } from '@yunflyjs/yunfly';
 
export default function KoaMiddleware(app: KoaApp, config: Config) {
    // 
}

Config

yunfly config 配置类型

import { Config } from '@yunflyjs/yunfly';
 
const config = () => {
  const config: Config = {};
  // jwt配置
  config.jwt = {
    token: {
      domain: '127.0.0.1',
    },
  };
  return config;
};
export default config;

Context

yunfly 在 koa context 类型上进行扩展的类型

config.middleware.ts
import { KoaApp, Config } from '@yunflyjs/yunfly';
 
app.use(async function (ctx: Context, next: any) {
    // 所有的config配置注入到ctx中
    await next();
});
// Context.config
// Context.traceId