前端工程化
将前端项目当成一项系统工程,进行分析、组织、构建,从而达到项目结构清晰、分工明确、配合默契、效率提高。
从最简单的说,将一个页面的结构、样式、动作分离,就是一个工程化的思想了。
从更高层方面来说,对于一个大型项目,要做各种规范、技术选型、项目构建、优化等等,在代码上还需要用到模块化、UI组件化等开发方式。
模块化
是前端工程化思想下 相对比较具体的开发方式,可以简单的认为模块化和组件化是工程化的表现形式。
当某个JS功能或CSS样式在不同地方需要用到,就可以把它看做是一个模块,采用一定的方式进行模块化编写。以达到模块的复用以及单独的修改而不影响其他代码。
组件化
页面上每个独立的、可视/可交互区域 视为一个组件;
每个组件对应一个工程目录,组件所需的资源都在这个目录下;
组件与组件之间,可以自由组合;
当不需要某个组件,或要替换组件时,可以整个目录删除/替换
页面是容器,存放多个组件组合在一起形式功能完整的界面
表现与数据分离
简单的说,就是处理DOM、样式代码与处理数据的代码区分开来。
MVC、MVP、MVVM