Umi: Improve umi plugin system

Created on 3 Feb 2018  ·  1Comment  ·  Source: umijs/umi

生命周期

  • [x] 前置任务,在做所有事之前,onStart
  • [x] 更新全局配置,Service.js#constructor,_modifyGlobalConfig
  • [x] 修改路由配置,getRouteConfig.js#default,modifyRoutes
  • [x] 修改配置插件,modifyConfigPlugins
  • [x] 生成 .umi 下的文件,generateFiles
  • [x] modifyPageWatchers
  • [x] 修改路由文件,modifyRouterFile
  • [x] 修改入口文件 umi.js,modifyEntryFile
  • [x] 修改路由文件里 component 的定义,区分 development 和 production,modifyRouteComponent
  • [x] 修改传给 af-webpack/getConfig 的参数,modifyAFWebpackOpts
  • [x] 修改 webpack config,modifyWebpackConfig
  • [x] 修改 HTML 文件,modifyHTML
  • [x] 修改 HTML 的 script 部分,modifyHTMLScript
  • [x] build 成功后,buildSuccess

dev 专用

  • [x] modifyMiddlewares
  • [x] 路由被请求时做的事,onRouteRequest
  • [x] afterServer
  • [x] beforeServer
  • [x] onCompileDone

注意:

  • _ 开始的接口为私有接口,需尽量避免使用,可能会变更

Plugin Example

export default function(api) {
  api.registerCommand('command', fn);
  api.register('key', fn);
}
type(enhancement)

Most helpful comment

Done。

>All comments

Done。

Was this page helpful?
0 / 5 - 0 ratings