文档
基础功能
插件配置

插件配置

config 用于配置插件启动时所需要的配置项, plugin 用来做插件的定义, 它决定项目可以使用那些插件。 src/config 文件目录下新增 config.plugin.ts 文件用来管理项目的插件。

完整的插件案例

/**
 * yunfly 插件
 * 数组顺序就是插件的加载顺序
 */
import * as path from 'path'
// 
const plugins: {[key:string]: string}[] = [
  /**
   * hello 插件
   * 使用path模式
   */
  {
    name: 'hello',
    path: path.join(__dirname, '../plugin/yunfly-plugin-hello'),
  },
  /**
   * redis 插件
   * 使用npm包模式
   */
  {
    name: 'redis',
    package: '@yunflyjs/yunfly-plugin-redis'
  }
];
// 
export default plugins;

插件类型

export interface PluginConfig {
  name: string;
  path?: string;
  package?: string;
  async?: boolean;
  lifeHook?: 'beforeStart' | 'appDidReady' | 'afterStart';
  priority?: number;
}

参数说明

字段类型必选说明
namestring当前插件配置的唯一标识 name, 跟 config.default.ts 中字段保持一致, name 字段很有用,它用来标识是否有重复插件插件覆盖的能力
packagestringnpm包插件名,例如: @yunflyjs/yunfly-plugin-redis。 (备注:packagepath 必须有一个字段为真)
pathstring本地开发 插件目录地址 (备注:packagepath 必须有一个字段为真)
asyncboolean若为 false,表示同步加载插件,加载完才会加载下一个插件;否则为异步加载,不阻塞其他插件加载(默认值为: true)。
lifeHookstring可选值:beforeStartconfigDidReadyappDidReadyafterStart,表示在哪个生命周期进行加载。默认在 appDidReady 周期下加载插件。想进一步了解生命周期可看
prioritynumber插件自定义执行顺序, 数字越小约先执行,默认值:50