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 mouseover、mouseout停止事件冒泡的解决方案
Apr 07 Javascript
DOM Scripting中的图片切换[兼容Firefox]
Jun 12 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
Nov 26 Javascript
JS小功能(setInterval实现图片效果显示时间)实例代码
Nov 28 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
Jun 19 Javascript
Bootstrap每天必学之标签页(Tab)插件
Aug 09 Javascript
Node.js中process模块常用的属性和方法
Dec 13 Javascript
Vue 创建组件的两种方法小结(必看)
Feb 23 Javascript
Array数组对象中的forEach、map、filter及reduce详析
Aug 02 Javascript
微信小程序公用参数与公用方法用法示例
Jan 09 Javascript
openlayers实现地图弹窗
Sep 25 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 smarty 二级分类代码和模版循环例子
2011/06/01 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
JavaScript事件 &quot;事件对象&quot;的注意要点
2016/01/14 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
python基础教程之对象和类的实际运用
2014/08/29 Python
Python map和reduce函数用法示例
2015/02/26 Python
python pygame实现2048游戏
2018/11/20 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
基于python 取余问题(%)详解
2020/06/03 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
python如何实现递归转非递归
2021/02/25 Python
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
留学自荐信的技巧
2013/10/17 职场文书
甜点店创业计划书
2014/01/27 职场文书
《掌声》教学反思
2014/02/23 职场文书
廉洁使者实施方案
2014/03/29 职场文书
新闻编辑求职信
2014/04/09 职场文书
应届大专生自荐书
2014/06/16 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
让子弹飞观后感
2015/06/11 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
开学典礼致辞
2015/07/29 职场文书