export default async function()

in packages/plugin-react/src/index.ts [18:59]


export default async function (api: PluginAPI, options: PluginOptions) {
  if (getEnv().isDev()) {
    // 本地开发环境,注册 https 证书
    options.https = await mkcert2webpack(options.https);
  }

  api.on('onChainWebpack', async (config: Chain, env: Evnrioment) => {
    // plugin react chain start;
    api.emit('onReactChainStart', config, env);

    debug(
      'plugin:react',
      'onReactChainStart, env %s chain: %s',
      env,
      config.toString()
    );

    const opts = {
      ...options,
      cwd: api.getCwd(),
    };

    switch (env.buildType) {
      case BuildType.Dev:
      case BuildType.Dev_Local:
      case BuildType.Dev_Cloud:
        chainDev(config, opts, api);
        break;
      case BuildType.Prod:
      case BuildType.Prod_Local:
      case BuildType.Prod_Cloud:
        chainProd(config, opts, api);
        break;
      default:
    }

    // plugin react chain end;
    api.emit('onReactChainEnd', config, env);
  });

  html(api);
}