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 相关文章推荐
一个JS小玩意 几个属性相加不能超过一个特定值.
Sep 29 Javascript
js判断输入是否为数字的具体实例
Aug 03 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 Javascript
利用Jasmine对Angular进行单元测试的方法详解
Jun 12 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
vue如何使用async、await实现同步请求
Dec 09 Javascript
vue2路由方式--嵌套路由实现方法分析
Mar 06 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
Jul 22 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
MySQL中create table语句的基本语法是
2007/01/15 PHP
加速XP搜索功能堪比vista
2007/03/22 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
解javascript 混淆加密收藏
2009/01/16 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
Vue.js中的高级面试题及答案
2020/01/13 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
Vue+Openlayers自定义轨迹动画
2020/09/24 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
Python continue语句用法实例
2014/03/11 Python
python黑魔法之参数传递
2016/02/12 Python
python正则分析nginx的访问日志
2017/01/17 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
UNIX文件系统常用命令
2012/05/25 面试题
解除劳动合同协议书
2014/04/14 职场文书
淘宝客服工作职责
2014/07/11 职场文书