组件化和模块化的区别


组件化

组件化:层层嵌套,基于UI层面的封装。组件最为重要的就是重用(复用),位于框架最底层,其他功能都依赖于组件,可供不同功能使用,独立性强 ,就像一个小小的单位,多个组件可以组合成组件库,方便调用和复用,组件间也可以嵌套,小组件组合成大组件。
不同于组件化,模块化是对文件、对代码和资源拆分,而组件化则是对 UI 层面的拆分。

模块化

模块化:基于代码层面的封装,分属同一功能/业务的代码进行分装成独立的模块,可以独立的运行,以页面、功能或其他不同粒度划分程度不同的模块

模块化是指将一个文件拆分成多个相互依赖的文件,最后进行统一的打包和加载,这样能够很好的保证高效的多人协作
其中包含

JS 模块化:CommonJS、AMD、CMD 以及 ES6 Module。
CSS 模块化:Sass、Less、Stylus、BEM、CSS Modules 等。其中预处理器和 BEM 都会有的一个问题就是样式覆盖。而 CSS Modules 则是通过 JS 来管理依赖,最大化的结合了 JS 模块化和 CSS 生态,比如 Vue 中的 style scoped。
资源模块化:任何资源都能以模块的形式进行加载,目前大部分项目中的文件、CSS、图片等都能直接通过 JS 做统一的依赖关系处理。


文章作者: me
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 me !