以插件构建,UMI3解析系列之构建原理
2023-10-06 14:13:52
乌米三 解析系列之构建原理
UMI3 解析系列之构建原理
前言
基于前面umi插件机制的原理可以了解到,umi是一个插件化的企业级前端框架,它配备了完善的插件体系,这也使得umi具有很好的可扩展性。umi的全部功能都是由插件完成的,构建功能同样是以插件的形式完成的。
UMI3构建原理
UMI3构建原理图如下:
上图展示了UMI3构建原理,从原理图上可以看出,UMI3的构建过程可以分为以下几个步骤:
- 首先,用户需要通过命令行工具创建一个UMI3项目。
- 创建项目之后,用户需要通过命令行工具安装所需的UMI3插件。
- 安装好插件之后,用户需要通过命令行工具启动UMI3构建任务。
- UMI3构建任务会首先解析用户配置的构建参数,然后根据这些参数生成相应的构建产物。
- 构建产物生成之后,UMI3构建任务会将这些产物打包成一个发布包。
- 最后,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的构建过程可以分为以下几个步骤:
- 创建UMI3项目
- 安装UMI3插件
- 启动UMI3构建任务
- 生成构建产物
- 打包构建产物
- 部署构建包
UMI3提供了丰富的构建配置选项,用户可以根据自己的需求修改默认的构建配置。
UMI3提供了一系列内置的构建插件,用户也可以根据自己的需求开发自定义的构建插件。
UMI3提供了一种简单易用的方式来构建前端应用程序,用户可以轻松地使用UMI3构建出高质量的前端应用程序。