Vue 的渐进式设计使得它非常容易上手,在最简略的状况下,咱们只须要引入 Vue 的 JS 文件,而后 new Vue() 即可应用申明式渲染。
Vue 的文档编写也比拟优良,不便使用者一步一步深刻理解 Vue 各个个性的应用。既然如此,为什么咱们还须要浏览 Vue 的源码呢,间接看文档学习它的应用不就能够解决问题了吗?
这个问题能够从两方面来解答。
他山之石 可以攻玉
前端技术的倒退十分快,各种类库、框架、解决方案始终层出不穷。即使像 Vue 现在如日中天,其火起来的工夫也不过短短三五年。而工夫往回推几年,风行的却是 jQuery、backbone.js 之类的计划。因而,Vue.js 也有可能过期,仅仅把握 Vue 的应用是远远无奈跟上前端的倒退脚步的。
Vue 的源码中有不少经典的解决问题的办法,把握这些才算是真的学到了一些前端精华。即使当前 Vue 不再风行,这些学习到的办法也是不会过期的。例如时下风行的 JSX、虚构 DOM、数据变更的监听检测、观察者模式的应用等,都是十分有学习价值的问题解决方案。
此外,Vue 作为一个通用框架,诚然能帮忙咱们解决很大一部分的问题,然而当利用复杂度回升当前,仅仅依附 Vue 没有方法齐全解决我的项目中碰到的问题。因而在碰到简单的我的项目场景时,依然须要大量的前端基础知识技能,而 Vue 的源码中有很多问题的解决方案,如果熟练掌握这些计划,将会使咱们事倍功半。
知已知彼 百战不殆
在大部分状况下,咱们仅仅须要依据 Vue 的官网文档来应用,就足以解决我的项目中的问题。然而在我的项目场景简单时,依然可能碰到一些文档没有笼罩的问题。此时咱们可能须要先理解 Vue 底层的实现计划(如 nextTick、render 等),而后剖析出最合适的解决办法。
另一种状况是当咱们将一些解决方案利用到 Vue 不能笼罩的局部时,如果不能深刻理解 Vue 的底层实现机制,就很难防止一些底层机制的抵触。此时只有咱们深刻理解 Vue 的源码,能力对这些解决方案做出主观的评估,以决定是否应该利用到我的项目中。
其余起因
除此之外,仅仅从价值的角度来说,也有越来越多的公司在招聘的时候会要求把握一些框架的实现原理,除了上述说的学习和利用的起因外,是否能把握一些在用的框架的原理,也能够视作学习态度的一个体现。
综上,作为一个合格的 web 前端工程师,对 Vue 的源码做肯定深度的学习是十分必要的。