一、前言
-
Vue.js框架是目前比较火的MVVM框架之一,简单易上手的学习曲线,友好的官方文档,配套的构建工具,让Vue.js在2016大放异彩,大有赶超React之势。前不久Vue.js 2.0正式版已出,在体积优化(相比1.0减少了50%)、性能提升(相比1.0提升60%)、API优化等各方面都更上一层楼;
-
本文是系列文章,主要想通过对于Vue.js 2.0源码的分析,从代码层面解析Vue.js的实现原理,帮助读者能够更深入地理解整个框架的思想。此篇文章主要介绍前端渲染部分;
-
不足之处还请批评指正,欢迎一起交流学习。
二、Vue的初始化
我们在使用Vue.js的时候,最基本的一个使用,就是在HTML引入Vue.js的库文件,并写如下一段代码:
1.var app = new Vue({
2. el: '#app',
3. data: {
4. message: 'Hello Vue!'
5. }
6.})
new Vue,本质就是生成一个Vue的对象,我们来了解一下这个生成Vue对象的过程是怎样的:
首先,Vue的入口是/src/entries/web-runtime-with-compiler.js,这是由config.js配置文件决定的。
这个入口文件中import了很多文件,其中有一条主要的脉络:
/src/entries/web-runtime-with-compiler.js
引用了/src/entries/web-runtime.js
引用了/src/core/index.js
引用了/src/core/instance/index.js
其中/src/core/instance/index.js
是最核心的初始化代码,其中: