前端工程化的确在不停的发展与完善,webpack也日渐成为前端开发不可或缺的构建工具。webpack在不断迭代,更多的零配置的方式在出现,虽然使用的越来越舒适,但是不了解其内部的构建过程无论如何都是不合适的。本系列对webpack的深层实现进行分析。
数据结构与算法之四:树
树结构用处很多,如现代计算机文件系统使用的B+树,本文对树结构进行详细的整理,从二叉树到红黑树,希望可以有一个比较完整清晰的认识。
微服务实践之一:基础模块介绍及规范
分解项目,对模块进行了解
vue源码解读之七:VNode虚拟DOM的生成及其diff和patch机制
在前面的章节中,我们介绍了compile渲染template,完成了template –> AST –> render function 的过程。接下来让我们看看VNode的生成过程,以及将VNode转换为真实dom的patch过程。
css进阶之五:length长度单位
<length>
是表示距离尺寸的一种css数据格式。它由一个<number>
后紧随一个长度单位(px,em,pt,in,mm,…)组成。和任何 CSS 尺寸一样,数字和单位之间没有空格。<number>
0之后的长度单位是可选的。
许多CSS属性使用<length>
值,比如width、margin、padding、font-size、border-width、text-shadow…
对于某些属性,长度使用负值会有语法错误,但是有一些属性是允许负长度的。请注意虽然<percentage>
也是CSS尺寸并且可以被一些 CSS属性接受为<length>
值,但它们本身不是<length>
值。
vue源码解读之六:compile的三个阶段
template模板通过compile编译,最终得到render function,这里不是响应式式核心的内容,但是可以了解其大概的流程。compile主要分了parse、optimize、generate三个阶段。
ES6探索之四:Generator函数
Generato顾名思义,就是一个生成器函数,生成什么?生成遍历器。换句话说 Generator 函数就是遍历器生成函数。
vue源码解读之五:mount的内部实现
官网的描述对$mount的描述是:
如果 Vue 实例在实例化时没有收到 el 选项,则它处于“未挂载”状态,没有关联的 DOM 元素。可以使用 vm.$mount() 手动地挂载一个未挂载的实例。如果没有提供 elementOrSelector 参数,模板将被渲染为文档之外的的元素,并且你必须使用原生 DOM API 把它插入文档中。
动效开发之一:SVG动画
SVG(scalable vector graphics)指可伸缩矢量图形,是使用 XML 来描述二维图形和绘图程序的语言。用来定义用于网络的基于矢量的图形,使用xml定义图形,在图像放大或者改变尺寸的时候,图形质量不会有所损失。是万维网联盟的标准,与诸如dom和xsl之类的w3c标准的一个整体。
vue源码解读之四:initMixin做了什么
为了更好的理解这一部分代码,上篇文章我们介绍了响应式式原理。本篇文章解读initMixin在执行完options合并后的操作,从之前看到的源码内容,我们知道接下来主要会进行一下几个操作过程。