# 组件化的定义:
组件的出现,**就是为了拆分UI界面的功能,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可**
Vue组件的组成 html(template)+css+js
## 组件化和模块化的不同:
模块化:是从**代码逻辑的角度**进行划分的;方便代码分层开发,保证每个功能模块的职能单一
组件化:是从**UI界面的角度**进行划分的前端的组件化方便组件的重用
**举个更明显的例子:**
我们写一个导航组件,需要用到很多js功能 如:中间的搜索功能,滚动后改变颜色;如果将功能全部书写在组修的中,维护成功较高。那么可以将其抽离成不同的模块。然后在组件中调用这些功能。
## 总结
模块化一般指的是可以被抽象封装的最小/最优代码集合,模块化解决的是功能耦合问题;
组件化则更像是模块化进一步封装,根据业务特点或者不同的场景封装出具有一定功能特性的独立整体;另外,前端提到组件化更多的是具有模板、样式和 js 交互的 UI 组件。
我们接下来的学习重点在于先学会使用Vue的组件,后面我们有时间来一一的进行深入探讨。