###什么是前端的工程化,模块化,组件化

引言
前端,一提到前端,很多人想到的是入门,HTML,CSS,JS等,这些东西其实大概一个星期就能够上手。所以说前端简单的那些人,就是前端的入门简单,说实话,相对来说,js会难点,这就需要思维逻辑,当然,网上多学一下,很多特效就能够展示在页面上。如果没有任何编程思维的人,会对我说的工程化,模块化,组件化会云里雾里的。
本文会用最简单的语言介绍下,我都这三项的理解,如果中间有’幼稚’的词汇,请大神们轻喷。
前端工程化
因为刚刚入门的时候,我们写页面会把前端的这三样放在一张页面上,工程化就是动态的HTML,CSSS,JS分离出来,将前端当成工程进行分析,组织和构建从而达到项目结构清晰,分工明确,团队配合默契,开发效率高等目的。
工程化是一种思想,不是某种技术。在只有若干页面的小项目中,我们只需要把简单的页面组织起来,而一个大型的web项目往往要更多的页面和复杂的结构甚至多个团队配合才能完成整个项目。我们需要更加严谨和复杂的工程化的思维去组织结构。从更高层次的项目组织来看我们的项的各种规范,技术选型,项目构建优化等等,在代码层次,需要用到js和css模块化,UI组件等。用句俗话说,工程化就是用工程的思维来做项目,而不是撸起袖子就写代码。
前端模块化
上面说了工程化,其实是一个高层次的阶段,相对于工程化,模块化和组件化是工程化的具体表现,举个栗子,一个js模块,用于实现A功能的代码,然后它也适用于实现B功能的模块,那我们就可以看成一个模块根据一定的方式进行模块化的编写。既能实现复用也能分而治之。同样,在写样式的时候,一种css代码用于不同的模块里,这样实现代码复用,归类为模块化。具体的说,JS模块化方案很多有AMD/CommonJS/UMD/ES6 Module等,
前端组件化
组件化是工程的具体表现,具体什么是组件化
页面上的每个独立的、可视/可交互区域视为一个组件;
每个组件对应一个工程目录,组件所需的各种资源都在这个目录下就近维护;
由于组件具有独立性,因此组件与组件之间可以 自由组合;
页面只不过是组件的容器,负责组合组件形成功能完整的界面;
当不需要某个组件,或者想要替换组件时,可以整个目录删除/替换。

你可能感兴趣的:(###什么是前端的工程化,模块化,组件化)