侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

Egg11 - 插件

barwe
2022-04-24 / 0 评论 / 0 点赞 / 903 阅读 / 599 字
温馨提示:
本文最后更新于 2022-04-24,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

插件与中间件各自解决的问题

中间件的定位是拦截请求,并在拦截前或者拦截后做一些事情,例如鉴权、记录日志等。

初次之外其它与请求无关的事情,例如定时任务、应用启动操作等,应该交给插件去做。

插件的引入和通用配置

使用包管理工具安装插件,在 config/plugin.ts 中配置插件。

通用配置参数如下:

  • enable (boolean) 是否启用插件
  • package (string) 从 npm 安装的插件
  • path (string) 从指定路径安装的插件
  • env (string[]) 只在指定环境中启用插件

使用 config/plugin..ts 根据不同的环境自动加载插件。

例如一个只在开发环境才会安装和启用的插件:

{
  "devDependencies": {
    "egg-demo": "*"
  }
}
const plugin = {
  demo: true
}

默认的插件配置文件是 config/plugin.ts

插件的安装方式

插件可以从 npm 安装,或者从本地安装,分别对应packagepath参数,二者只能指定一个。

默认的插件列表

  • onerror 异常处理
  • Session
  • i18n 多语言
  • watcher 文件和文件夹监控
  • multipart 文件流式上传
  • security
  • development 开发环境配置
  • logrotator 日志切分
  • schedule 定时任务
  • static 静态服务器
  • jsonp
  • view 模板引擎
  • ……
0

评论区