vue的.vue文件是怎么run起来的(vue-loader)


Posted in Javascript onDecember 10, 2018

引子:vue的.vue文件是怎么跑起来的?

 答:通过vue-loader,解析.vue文件,在webpack解析,拆解vue组件

1、vue-loader做了什么?

vue-loader是一个webpack加载器,这是vue组件的格式:

<template>
 ...
</template>
<script>
 ...
</script>
<style>
 ...
</style>

它可以把这样的vue组件转化为JS模块,这其中最值得关注的是,它生成了 render function code

render function code
是从模板编译而来(可以并且应该预编译)的组件核心渲染方法,
在每一次组件的 Render 过程中,
通过注入的数据执行可生成虚拟 Dom

2、vue核心执行过程

vue的.vue文件是怎么run起来的(vue-loader)

vue核心的执行过程主要分为这几个阶段:

1) 编译模板,
生成可复用的render function code,
这一步在vue实例的整个生命周期中只会执行一次甚至零次,
因为我们可以在打包的时候可以预编译
2) 生成watcher等核心渲染监听,
在整个vue实例的生命过程中持续发生着作用,
对view和modal进行双向绑定
3) 虚拟dom的diff比较,
当watcher监听到data的变更的时候,
就会根据注入新的data执行render function code,
生成新的虚拟dom,
跟老的虚拟dom(第一次执行的时候可能为空)进行diff比对,
不同的部分将写入真实的dom

总结

以上所述是小编给大家介绍的vue的.vue文件是怎么run起来的(vue-loader) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 触发HTML元素绑定的函数
Sep 11 Javascript
超简单JS二级、多级联动的简单实例
Feb 18 Javascript
Js表格万条数据瞬间加载实现代码
Feb 20 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
Nov 17 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
jQuery事件与动画基础详解
Feb 23 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
使用OPENLAYERS3实现点选的方法
Sep 24 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
Feb 28 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
Apr 22 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
Nov 23 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
Oct 30 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
Dec 09 #Javascript
Bootstrap 按钮样式与使用代码详解
Dec 09 #Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
Dec 09 #Javascript
vue form check 表单验证的实现代码
Dec 09 #Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
Dec 09 #Javascript
vue打包之后生成一个配置文件修改接口的方法
Dec 09 #Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 #Javascript
You might like
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
php实现比较全的数据库操作类
2015/06/18 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
javascript学习网址备忘
2007/05/29 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
JavaScript 语言的递归编程
2010/05/18 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
2015/02/25 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
原生js实现下拉框功能(支持键盘事件)
2017/01/13 Javascript
详解vue.js的事件处理器v-on:click
2017/06/27 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
Javascript实现秒表倒计时功能
2018/11/17 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
python让列表倒序输出的实例
2018/06/25 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
判断单链表中是否存在环
2012/07/16 面试题
员工培训邀请函
2014/02/02 职场文书
签订劳动合同通知书
2015/04/16 职场文书
征求意见函
2015/06/05 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
python中if和elif的区别介绍
2021/11/07 Python
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android
React四级菜单的实现
2022/04/08 Javascript