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 相关文章推荐
jQuery Ajax提交表单查询获得数据实例代码
Sep 19 Javascript
Jquery实现控件的隐藏和显示实例
Feb 08 Javascript
AngularJS基础知识笔记之表格
May 10 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
原生js仿淘宝网商品放大镜效果
Feb 28 Javascript
JS代码实现电脑配置检测功能
Mar 21 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
JavaScript Dom 绑定事件操作实例详解
Oct 02 Javascript
JavaScript 严格模式(use strict)用法实例分析
Mar 04 Javascript
在Vue中实现随hash改变响应菜单高亮
Mar 09 Javascript
原生js拖拽功能制作滑动条实例代码
Feb 05 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
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
js 弹出菜单/窗口效果
2011/10/30 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
JQuery的read函数与js的onload不同方式实现
2013/03/18 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
Vuex提升学习篇
2018/01/11 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
JS常见内存泄漏及解决方案解析
2020/05/30 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
用Python设计一个经典小游戏
2017/05/15 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python获取栅格点和面值的实现
2020/03/10 Python
Python datetime模块使用方法小结
2020/06/18 Python
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
HTML5本地存储之IndexedDB
2017/06/16 HTML / CSS
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
大学生个人求职信范文
2013/09/21 职场文书
求职者简历中的自我评价
2013/10/20 职场文书
党校培训思想汇报
2014/01/03 职场文书
法人代表证明书格式
2014/10/01 职场文书
2014年财务科工作总结
2014/11/11 职场文书
化验员岗位职责
2015/02/14 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
python Tkinter模块使用方法详解
2022/04/07 Python