返回

以插件构建,UMI3解析系列之构建原理

前端

乌米三 解析系列之构建原理

UMI3 解析系列之构建原理

前言

基于前面umi插件机制的原理可以了解到,umi是一个插件化的企业级前端框架,它配备了完善的插件体系,这也使得umi具有很好的可扩展性。umi的全部功能都是由插件完成的,构建功能同样是以插件的形式完成的。

UMI3构建原理

UMI3构建原理图如下:

UMI3构建原理图

上图展示了UMI3构建原理,从原理图上可以看出,UMI3的构建过程可以分为以下几个步骤:

  1. 首先,用户需要通过命令行工具创建一个UMI3项目。
  2. 创建项目之后,用户需要通过命令行工具安装所需的UMI3插件。
  3. 安装好插件之后,用户需要通过命令行工具启动UMI3构建任务。
  4. UMI3构建任务会首先解析用户配置的构建参数,然后根据这些参数生成相应的构建产物。
  5. 构建产物生成之后,UMI3构建任务会将这些产物打包成一个发布包。
  6. 最后,UMI3构建任务会将发布包部署到指定的目标环境中。

UMI3构建插件

UMI3构建插件是用来实现UMI3构建功能的插件,UMI3提供了一系列内置的构建插件,用户也可以根据自己的需求开发自定义的构建插件。

UMI3内置的构建插件包括:

  • webpack-chain-plugin:用于自定义webpack配置
  • mini-css-extract-plugin:用于提取CSS文件
  • postcss-plugin:用于处理CSS文件
  • uglifyjs-webpack-plugin:用于压缩JS文件
  • image-webpack-loader:用于处理图片文件
  • file-loader:用于处理文件

UMI3构建配置

UMI3构建配置是用来配置UMI3构建任务的配置文件,UMI3提供了一个默认的构建配置,用户也可以根据自己的需求修改默认的构建配置。

UMI3默认的构建配置位于项目根目录下的“config/config.js”文件中,用户可以修改这个文件来修改UMI3构建任务的配置。

UMI3构建配置的选项包括:

  • outputPath:构建产物的输出路径
  • publicPath:构建产物的公共路径
  • devServer:开发服务器的配置
  • webpackChain:webpack的配置
  • postcss:postcss的配置
  • uglify:uglifyjs的配置
  • imageLoader:image-webpack-loader的配置
  • fileLoader:file-loader的配置

UMI3构建任务

UMI3构建任务是用来执行UMI3构建过程的命令行工具,UMI3提供了一个默认的构建任务,用户也可以根据自己的需求修改默认的构建任务。

UMI3默认的构建任务是“umi build”,用户可以使用这个命令来执行UMI3构建任务。

UMI3构建任务的选项包括:

  • mode:构建模式,可以是“development”或“production”
  • target:构建目标,可以是“web”或“node”
  • sourcemap:是否生成sourcemap
  • analyze:是否生成分析报告

UMI3构建产物

UMI3构建产物是UMI3构建任务生成的产物,UMI3构建产物包括:

  • JS文件
  • CSS文件
  • HTML文件
  • JSON文件
  • 图片文件
  • 文件

UMI3构建包

UMI3构建包是UMI3构建任务生成的发布包,UMI3构建包是一个zip文件,里面包含了UMI3构建产物。

UMI3构建包可以用来部署到指定的目标环境中。

UMI3构建部署

UMI3构建部署是将UMI3构建包部署到指定的目标环境中的过程,UMI3提供了多种部署方式,用户可以选择一种适合自己的部署方式来部署UMI3构建包。

UMI3的部署方式包括:

  • 手动部署
  • 自动部署
  • 持续部署

总结

UMI3的构建原理是基于插件的,UMI3的构建过程可以分为以下几个步骤:

  1. 创建UMI3项目
  2. 安装UMI3插件
  3. 启动UMI3构建任务
  4. 生成构建产物
  5. 打包构建产物
  6. 部署构建包

UMI3提供了丰富的构建配置选项,用户可以根据自己的需求修改默认的构建配置。

UMI3提供了一系列内置的构建插件,用户也可以根据自己的需求开发自定义的构建插件。

UMI3提供了一种简单易用的方式来构建前端应用程序,用户可以轻松地使用UMI3构建出高质量的前端应用程序。