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的前端数据通用验证库
Aug 08 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
Dec 02 Javascript
javascript+HTML5自定义元素播放焦点图动画
Feb 21 Javascript
原生javascript实现分页效果
Apr 21 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
妙用Angularjs实现表格按指定列排序
Jun 23 Javascript
微信小程序wx.request实现后台数据交互功能分析
Nov 25 Javascript
React中使用UEditor百度富文本的方法
Aug 22 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
Oct 29 Javascript
JS 4个超级实用的小技巧 提升开发效率
Oct 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提取中文首字母
2008/04/09 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
浅析PHP的静态成员函数效率更高的原因
2014/06/13 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
js实现GridView单选效果自动设置交替行、选中行、鼠标移动行背景色
2010/05/27 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
js实现StringBuffer的简单实例
2016/09/02 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
vue实现图片上传功能
2020/05/28 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
python2.7删除文件夹和删除文件代码实例
2013/12/18 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
Python语言快速上手学习方法
2018/12/14 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
自主招生自荐信范文
2013/12/04 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
python爬虫--selenium模块
2021/03/31 Python
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL