一、学习插件编写背景
作为一名前端人员,应该注重前端复用性及组件化,更应该考虑前端的性能优化,做到代码简洁有序,不冗余。特别是在大型团队中,如果一个团队中存在多个功能相似的组件,举个栗子,拿分页组件举例,某一个项目系统中使用这个项目下人员编写的一个分页组件,另一个项目系统中使用另一个项目下人员编写的一个分页组件,诸如此类,还有很多个项目系统也是如此,那么将造成团队内部组件冗余不清晰。每个新接手一个项目系统的人员都得熟悉特定的这个项目系统下的诸如分页组件的其他组件,等熟悉之后才能更好地进行项目需求开发。这也正是每个公司想要封装属于自己内部的一套组件库的原因。
二、学习历程
1. 学习封装组件的几种普遍方法及思维
- 通过JavaScript面向对象的思想,prototype属性(这种属性是比较普遍的)
- 通过$.fn.pluginName方式(通过jQuery来扩展插件)
2.学习方式
找自己感兴趣的插件来学习,下载其源码,学习如何编写一个组件。之前在看React的combineReducer方法的源码的时候,其实React的思想已经很完备了,combineReducer这个方法就是将多个reducer分别处理不同的action,然后将不同action处理后的state合并成一个最新的state返回。感受最深的是,combineReducer这个方法对于接收参数的验证处理,考虑到了各种情况,保障用户不同的参数传入方式。
3.注重实践
学习完几个别人编写的插件之后,大概明白了插件(组件)编写时需要注意的原则。原则大概有这么几个:默认参数(defaultOption),初始化方法(init()),绑定事件(bindEvent),销毁实例或者绑定事件(destroy)。
然后可以根据项目系统中还需新增或完善的插件(组件)进行封装或补充。