前端工程化 beta
前端工程化是什么
说了这么多,前端工程化
到底是什么?前端工程化指使用软件工程的技术与方法对前端开发的技术、工具、流程、经验、方案等指标标准化
,它具备模块化、组件化、规范化、自动化四大特性,主要目的是降低成本
与增加效率
。
模块化
模块化指将一个复杂应用根据预设规范封装为多个块并组合起来,对内实现数据私有化,对外暴露接口与其它模块通信。它在前端工程化
中具体表现为:在文件层面上对代码与资源实现拆分与组装,将一个大文件拆分为互相依赖的小文件,再统一拼装与加载。
具体体现
- 目录结构
组件化
组件化指将一个具备通用功能的交互设计划分为模板、样式和逻辑组成的功能单元,对内管理内部状态满足交互需求,对外提供属性接口扩展用户需求。
它实现了代码更高层次的复用性,提升开发效率。组件的封装也是对象的封装,同样要做到高内聚低耦合,组件化
的项目不仅利于单元测试
的进行,同样也利于需求迭代的推进。
有些同学可能会将模块化
与组件化
混淆,其实了解它们的概念就很易区分了。模块化着重在文件层面上对代码与资源实现拆分与组装,组件化着重在功能层面上对交互与设计实现拆分与组装。
规范化
规范化指将一系列预设规范接入工程各个阶段,通过各项指标标准化开发者的工作流程,引导开发者在团队协作中往更好的方向发展。
规范化
是前端工程化
的重要部分。它有效地将一盘松散的规范通过指定标准凝聚在一起,将所有工作流程标准化,协同所有开发者以标准化的方式定义工作流程,同时也影响着代码、文档和日志,甚至影响着每个开发者及其团队发展方向,因此每个成熟的前端团队都有一套身经百战的规范化方案
。
自动化
自动化指将一系列繁琐重复的工作流程交由程序根据预设脚本自动处理,整个工作流程无需人工参与,以解放开发者双手让其更专注业务需求的开发。
常见自动化
场景包括但不限于
自动化构建
自动化测试
自动化打包
自动化发布
自动化部署
更高级的自动化场景包括但不限于
持续集成
持续交付
持续部署
ChatGPT
Personal Assistant