js库的封装是否必要

56 阅读2分钟

js库和一些vue、react组件相比,它的兼容性、灵活性是比较大的优势。 在实际开发中,是在vue这些框架的基础上开发,当需要引入一个js库的时候(包含UI),该引入这个js库对应的vue组件,还是单纯的引入js库自行封装成vue组件?

单纯引入js库的优点是:

  • 兼容性、扩展度可能更大
  • 更直接、全面的文档
  • 相比一些质量差的第三方vue组件,减少不必要的复杂度

缺点是:

  • 需要确定的少量的开发成本(虽然js库的依赖也会变化,但是一般来说比这些发展的前端框架的稳定性更强)

而引入vue组件的优点是:

  • 减小封装组件的开发成本

缺点是:

  • 可能带来更大的复杂度和不易理解的bug
  • 随着版本的更新迭代,有额外的维护成本
  • 可能降低了部分的扩展性

从上面看出,相比引入vue组件其实副作用并不小,而使用基于js库自行封装的成本是确定的比较小的。如果说引入的vue组件质量并不高,那么应该采用自行封装的方式,这样对整个软件过程的成本、质量来说都好一些。

另外,对于第三方库对js库的封装,核心考虑包装尽量不丢失原来的功能和自由度下进行封装。长期来说无框架约束比添加了框架的兼容性和稳定性更高。但不能说短期的不好,短期如果有个三五年或结合项目的生命周期的话也是合适的,技术变化太快了,谁也难以保证未来会怎样,只是在预测范围内做好当下的,提供好用的工具。