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模拟实现Array的sort方法
Dec 11 Javascript
javascript 操作cookies及正确使用cookies的属性
Oct 15 Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
javasctipt如何显示几分钟前、几天前等
Apr 30 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
Jun 11 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
May 03 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
老生常谈JavaScript中的this关键字
Oct 01 Javascript
关于axios不能使用Vue.use()浅析
Jan 12 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
Aug 14 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
DC动漫人物排行
2020/03/03 欧美动漫
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
canvas压缩图片转换成base64格式输出文件流
2017/03/09 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
Python做文本按行去重的实现方法
2016/10/19 Python
使用Python处理Excel表格的简单方法
2018/06/07 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
2017/08/15 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
环境工程专业个人求职信
2013/12/05 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
56句经典英文座右铭
2019/08/09 职场文书