前端模块化、组件化理解
随着前端项目规模的增大,我们要考虑提高开发效率,增加代码复用,以及降低模块功能耦合等问题。
模块化
模块化是软件工程中的一种思想,将大的问题拆解细分成一个个小问题,然后分而治之。随着小问题的逐个解决,使大问题最终也得到解决。
前端开发主要体现在:编写代码时,将功能封装在一个个独立的js模块内,然后相互引用,完成整个功能的搭建。
至于实现这种思想的方案有:CommonJS,AMD,CMD,以及es6模块化方案等。
(主要是node环境的commonJS和es6规范比较重要,不详细解释了)
组件化
相较于模块化思想,组件化更关注于视图层。
将网页按功能区域划分开来,每一个独立区域理解成一个组件。组件作为一个模块单独维护,只对外提供出入口。然后将多个独立的组件进行各种拼接,就能构建出不同的页面。
引用菜鸟教程的上的一个图,比较方便理解。