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实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
Mar 21 Javascript
基于jQuery实现的水平和垂直居中的div窗口
Aug 08 Javascript
Javascript算符的优先级介绍
Mar 20 Javascript
Javascript call和apply区别及使用方法
Nov 14 Javascript
Jquery获得控件值的三种方法总结
Feb 13 Javascript
关于angularJs指令的Scope(作用域)介绍
Oct 25 Javascript
Angularjs中三种数据的绑定策略(“@”,“=”,“&amp;”)
Dec 23 Javascript
利用vue.js实现被选中状态的改变方法
Feb 08 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
js指定日期增加指定月份的实现方法
Dec 19 Javascript
Vue data的数据响应式到底是如何实现的
Feb 11 Javascript
JavaScript判断数据类型有几种方法及区别介绍
Sep 02 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
jQuery 常见开发使用技巧总结
2009/12/26 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
js实现音乐播放控制条
2017/09/09 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
[01:01:24]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python 内置函数complex详解
2016/10/23 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
匡威比利时官网:Converse Belgium
2017/04/13 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
中专生自我鉴定
2013/12/17 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
客户付款通知书
2015/04/23 职场文书
国际贸易实训总结
2015/08/03 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android