在Vue$mount过程中,我们需要把模版编译成render函数,整体实现可以分为三部分:parse:解析模版template生成AST语法树optimize:优化AST语法树,标记静态节点codegen:把优化后的AST语法树转换生成render方法代码字符串,利用模板引擎生成可执行的render函数(render执行后返回的结果就是虚拟DOM,即以VNode节点作为基础的树)Vue.js提供了2个版本,一个是Runtime+Compiler的,一个是Runtimeonly的,前者是包含编译代码的,可以把编译过程放在运行时做,后者是不包含编译代码的,需要借助webpack的vue-loade
在Vue$mount过程中,我们需要把模版编译成render函数,整体实现可以分为三部分:parse:解析模版template生成AST语法树optimize:优化AST语法树,标记静态节点codegen:把优化后的AST语法树转换生成render方法代码字符串,利用模板引擎生成可执行的render函数(render执行后返回的结果就是虚拟DOM,即以VNode节点作为基础的树)Vue.js提供了2个版本,一个是Runtime+Compiler的,一个是Runtimeonly的,前者是包含编译代码的,可以把编译过程放在运行时做,后者是不包含编译代码的,需要借助webpack的vue-loade
内容乃本人学习Vue2源码的一点笔记,若有错误还望指正。源码版本:vue:2.6vue-loader:13.xvue-template-compiler:2.6之前的相关学习笔记:应用初始化大致流程数据响应式改造众所周知,Vue的脚手架项目是通过编写.vue文件来对应vue里组件,然后.vue文件是通过vue-loader来解析的,下面是我学习组件渲染过程和模板解析中的一些笔记。Vue实例挂载方法$mount一个普通vue应用的初始化:importVuefrom"vue";importAppfrom"./App.vue";Vue.config.productionTip=false;newVu
内容乃本人学习Vue2源码的一点笔记,若有错误还望指正。源码版本:vue:2.6vue-loader:13.xvue-template-compiler:2.6之前的相关学习笔记:应用初始化大致流程数据响应式改造众所周知,Vue的脚手架项目是通过编写.vue文件来对应vue里组件,然后.vue文件是通过vue-loader来解析的,下面是我学习组件渲染过程和模板解析中的一些笔记。Vue实例挂载方法$mount一个普通vue应用的初始化:importVuefrom"vue";importAppfrom"./App.vue";Vue.config.productionTip=false;newVu
GitHubPages和Jekyll笔记快速创建(使用默认的Jekyll引擎)1.新建仓库新建一个空仓库,名称为username.github.io,其中username就是你的GitHub账号名称2.增加文件Clone到本地,在里面建两个文件_config.yml和index.md_config.yml是Jekyll的配置文件theme:jekyll-theme-minimaltitle:MyHomepagedescription:Fordailynotesindex.md是站点的首页#TestPageIt'satestpage##Header2content3.提交将内容提交到仓库gita
GitHubPages和Jekyll笔记快速创建(使用默认的Jekyll引擎)1.新建仓库新建一个空仓库,名称为username.github.io,其中username就是你的GitHub账号名称2.增加文件Clone到本地,在里面建两个文件_config.yml和index.md_config.yml是Jekyll的配置文件theme:jekyll-theme-minimaltitle:MyHomepagedescription:Fordailynotesindex.md是站点的首页#TestPageIt'satestpage##Header2content3.提交将内容提交到仓库gita
今天npmrundev的时候,有个页面报错,提示[Vuewarn]:Failedtomountcomponent:templateorrenderfunctionnotdefined.昨天还好好的,今天就报错了,也没改啥。经过查资料,反复查证回想改了什么,发现是因为昨天在在哪个页面组件目录(src\views\组件目录)里面新建了个index.js,so,现在这个组件目录下有一个index.vue和index.js,导致路由配置表里面引入组件的时候引入到了index.js没有引入到组件导致报错。路由表配置:component:()=>import('@/views/subfile/index'
今天npmrundev的时候,有个页面报错,提示[Vuewarn]:Failedtomountcomponent:templateorrenderfunctionnotdefined.昨天还好好的,今天就报错了,也没改啥。经过查资料,反复查证回想改了什么,发现是因为昨天在在哪个页面组件目录(src\views\组件目录)里面新建了个index.js,so,现在这个组件目录下有一个index.vue和index.js,导致路由配置表里面引入组件的时候引入到了index.js没有引入到组件导致报错。路由表配置:component:()=>import('@/views/subfile/index'
前言突然想起来要好好整理一下自己的博客空间,已经荒废很多年,如果再不捡起来,等到自己知识老化的时候再去写东西就没人看了。使用GithubPages+Jekyll把博客发布为静态网站,给人感觉比较私密,似乎所有的控制权都抓在自己手里的样子。但是作为一个技术博客,如果写东西没有PlantUML的加持,当然效率就会差很多。本文内容记录了断断续续将近一周的折腾。PlantUML 插件目前支持 PlantUML 的插件我找到了好几个,但是最终使用的是 kramdown-plantuml,另外一个 jekyll-spaceship 插件支持更多的功能,如果需要安装的话,只需要装任意一个就可以支持 Plan
前言突然想起来要好好整理一下自己的博客空间,已经荒废很多年,如果再不捡起来,等到自己知识老化的时候再去写东西就没人看了。使用GithubPages+Jekyll把博客发布为静态网站,给人感觉比较私密,似乎所有的控制权都抓在自己手里的样子。但是作为一个技术博客,如果写东西没有PlantUML的加持,当然效率就会差很多。本文内容记录了断断续续将近一周的折腾。PlantUML 插件目前支持 PlantUML 的插件我找到了好几个,但是最终使用的是 kramdown-plantuml,另外一个 jekyll-spaceship 插件支持更多的功能,如果需要安装的话,只需要装任意一个就可以支持 Plan