一、前端工程化是一种思维而不是技术。是使用软件工程的技术和方法来进行前端的开发流程、技术、工具、经验等规范化、标准化。在其过程中,一般会涉及到构建工具、模块化、组件化、自动化和持续集成。其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间。
二、模块化就是将一个大文件拆分成相互依赖的小文件,再进行统一的拼装和加载。一个模块就是一个实现特定功能的文件,有了模块我们就可以更方便的使用别人的代码,要用什么功能就加载什么模块。优点:避免变量污染,命名冲突;提高代码复用率; 提高维护性;依赖关系的管理。像vue3、lodash-es(不要用lodash)。
三、组件化是一种将页面结构和行为进行拆分,是对UI的拆分。这样更利于维护和重用代码。举个例子,Refrigerator.js实现了冰箱的开启、关闭、急冻、保鲜功能。B组件要使用开启功能,那么就可以只引入Refrigerator.js的开启方法;C组件要保鲜,那么只需要引入保鲜功能。这样Refrigeratorjs就是一种模块化开发(注意模块化写法)。
四、自动化应该指的是自动化工具了,包括自动化部署、自动化测试等等