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动态加载二
Aug 22 Javascript
js计算字符串长度包含的中文是utf8格式
Oct 15 Javascript
Javascript中神奇的this
Jan 20 Javascript
jquery实现具有嵌套功能的选项卡
Feb 12 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
JS中with的替代方法与String中的正则方法详解
Dec 23 Javascript
简单谈谈vue的过渡动画(推荐)
Oct 11 Javascript
JS跨域请求的问题解析
Dec 03 Javascript
详解微信小程序回到顶部的两种方式
May 09 Javascript
基于JavaScript实现大文件上传后端代码实例
Aug 18 Javascript
Vue切换Tab动态渲染组件的操作
Sep 21 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
咖啡语言
2021/03/03 咖啡文化
php上的memcache和memcached两个pecl库
2010/03/29 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
2015/03/04 Javascript
jQuery消息提示框插件Tipso
2015/05/04 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
javascript 操作cookies详解及实例
2017/02/22 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
Python的Urllib库的基本使用教程
2015/04/30 Python
浅谈python多线程和队列管理shell程序
2015/08/04 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
Python实现12306火车票抢票系统
2019/07/04 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
社区母亲节活动方案
2014/03/05 职场文书
2014年店长工作总结
2014/11/17 职场文书
小学优秀教师材料
2014/12/15 职场文书
复兴之路观后感
2015/06/02 职场文书
刘胡兰观后感
2015/06/16 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏