Vue源码从什么玩意儿到真香(2)-Array的变化侦测

2020-04-03
阅读 7 分钟
1.3k
在上一篇中,主要讲了Object类型的变化侦测,那么为什么要讲Array类型呢?举个栗子:this.array.push('ntyang')请各位思考一下,Object类型的变化侦测是通过Object.defineProperty方法的getter/setter实现的,但是使用Array.prototype.push来改变数组,并不会触发getter/setter.那么Array类型数据是如何实现变化侦测的?接下来让...

Vue源码从什么玩意儿到真香(1)-Object的变化侦测

2020-03-27
阅读 5 分钟
1.2k
当组件中的状态发生了变化,Vue会天然的知道状态变化了,并根据状态生成DOM进行渲染.通常,在应用运行时,内部的状态在不停的变化,那该如何知道是哪些状态发生了变化呢?变化侦测(也有叫数据绑定的?)就是来解决这个问题的.不同于React和Angular的'拉'的方式,Vue属于'推'.当状态发生变化时,Vue立马就知道了,而且知道是哪些状态...

webpack从相识到合葬(6)-webpack5的稍微介绍

2020-03-12
阅读 2 分钟
1.6k
webpack5 此版本重点关注以下内容: 通过持久缓存提高构建性能. 使用更好的算法和默认值来改善长期缓存. 通过更好的树摇和代码生成来改善捆绑包大小. 清除处于怪异状态的内部结构,同时在 v4 中实现功能而不引入任何重大更改. 通过引入重大更改来为将来的功能做准备,以使我们能够尽可能长时间地使用 v5. 下载 npm i webp...

webpack从相识到合葬(5)-webpack配置详解

2020-03-12
阅读 6 分钟
1.1k
webpack官网-中文文档,更多详细文档请去官网自行查看 entry {代码...} {代码...} output {代码...} module {代码...} resolve {代码...} devServer {代码...} optimization {代码...}

webpack从相识到合葬(4)-webpack优化配置

2020-03-12
阅读 12 分钟
1.5k
HMR {代码...} {代码...} source-map {代码...} {代码...} oneOf {代码...} {代码...} 缓存 {代码...} {代码...} tree shaking {代码...} {代码...} code split {代码...} {代码...} {代码...} {代码...} 懒加载与预加载 {代码...} {代码...} PWA {代码...} {代码...} {代码...} 多进程打包 {代码...} {代码...} externa...

webpack从相识到合葬(3)-生产环境的基本配置

2020-03-11
阅读 7 分钟
1.5k
上一章介绍了如何在开发环境下配置webpack.As we all known,开发环境没有那么多讲究,怎么速度快怎么来.但是生产环境就不一样了,要体积小,要跑得快,还要兼容性好...等等一系列要求.比如css的处理,是通过loader加载到js文件中,就会让js体积变得很大.同时css样式是通过js创建style标签并放入head,会产生闪屏现象.所以生产环...

webpack从相识到合葬(2)-开发环境的基本配置

2020-03-10
阅读 5 分钟
1k
虽然能够帮助我们构建和打包项目,但是我总不能每次都要手动运行webpack命令去打包资源吧,这未免也太...了吧.说好的自动化呢?别怕,配置一个devServer,它宠你

webpack从相识到合葬(1)-webpack是什么以及配置文件中的五个核心属性

2020-03-10
阅读 2 分钟
1.3k
前端资源构建工具怎么理解这个概念呢?一般来说,在项目中,我们编写css样式代码时,都会选择less/stylus/sass等预处理器来编写,编写完成后再引入到需要的页面中,但浏览器并不会识别这种文件,这个时候我们需要一个工具,比如将less文件编译成css文件.或者当我们使用npm init项目后,需要在js文件中import某些模块时,会报语法错...

axios从无从下手到手到擒来(6)-源码分析之axios运行的整体流程

2020-03-08
阅读 4 分钟
2.2k
我们需要关注的重点部分 request([config]) ==> dispatchRequest([config]) ==> adapter([config]) 1. request([config])request函数主要关注于将请求拦截器/dispatchRequest()/响应拦截器,通过promise链串联起来,最后返回promise 这一部分的代码已经在前面分析过了,不再赘述

axios从无从下手到手到擒来(5)-源码分析之默认axios与axios.create()的区别

2020-03-08
阅读 2 分钟
6.5k
上文说到默认暴露的axios是通过createInstance函数创建的.在开发中,除了使用axios之外,我们还可以使用axios.create()创建新的Axios instance,那么,这两个对象都有啥区别呢?首先,贴出源码

axios从无从下手到手到擒来(4)-源码分析之axios与Axios的关系

2020-03-08
阅读 4 分钟
1.4k
关于axios和Axios的关系,之前在没有看源码的时候,我想当然的认为axios肯定是Axios的实例对象啦...直到我看了源码,稀碎稀碎的.首先贴出createInstance函数的定义

axios从无从下手到手到擒来(3)-源码分析之整体结构

2020-03-08
阅读 2 分钟
1.3k
axios的整体目录结构 {代码...} 关于入口文件 {代码...} 默认暴露的axios {代码...} 关于adapters的选择 {代码...} 简要说一下Cancel类型上一篇文章说过,'在error回调中判断,如果error是cancel,做相应处理',那到底Cancel是个啥类型呢? {代码...} axios系列传送门 axios从无从下手到手到擒来(1)-使用XMLHttpRequest封装简...

axios从无从下手到手到擒来(2)-axios的理解与使用

2020-03-07
阅读 2 分钟
2.4k
{代码...} axios的github地址 {代码...} {代码...} 难点理解 {代码...} axios系列传送门 axios从无从下手到手到擒来(1)-使用XMLHttpRequest封装简单的ajax请求函数axios从无从下手到手到擒来(2)-axios的理解与使用axios从无从下手到手到擒来(3)-源码分析之整体结构axios从无从下手到手到擒来(4)-源码分析之axios与Axios...

axios从无从下手到手到擒来(1)-使用XMLHttpRequest封装简单的ajax请求函数

2020-03-07
阅读 3 分钟
3.4k
{代码...} [链接] {代码...} {代码...} {代码...} {代码...} {代码...} axios系列传送门 axios从无从下手到手到擒来(1)-使用XMLHttpRequest封装简单的ajax请求函数axios从无从下手到手到擒来(2)-axios的理解与使用axios从无从下手到手到擒来(3)-源码分析之整体结构axios从无从下手到手到擒来(4)-源码分析之axios与Axios...

Promise从两眼发懵到双眼放光(9)-async和await

2020-03-02
阅读 2 分钟
1.5k
async函数 async的MDN文档 {代码...} {代码...} {代码...} await表达式 await的MDN文档 {代码...} {代码...} Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)Promise从两眼发懵到双眼放光(4)-Promise的几个...

Promise从两眼发懵到双眼放光(8)-手写Promise之resolve,reject,all,race方法

2020-02-27
阅读 2 分钟
2.1k
{代码...} {代码...} {代码...} {代码...} 代码已同步更新到github [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)Promise从两眼发懵到双眼放光(4)-Promise的几个关键问题(二)Promise从两眼发懵到...

Promise从两眼发懵到双眼放光(7)-手写Promise之then方法和catch方法

2020-02-26
阅读 3 分钟
1.9k
{代码...} {代码...} 测试 {代码...} {代码...} 代码已同步更新到github [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)Promise从两眼发懵到双眼放光(4)-Promise的几个关键问题(二)Promise从两眼发...

Promise从两眼发懵到双眼放光(6)-手写Promise之构造函数

2020-02-26
阅读 3 分钟
1.9k
{代码...} {代码...} 测试 {代码...} {代码...} 代码已同步更新到github [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)Promise从两眼发懵到双眼放光(4)-Promise的几个关键问题(二)Promise从两眼发...

Promise从两眼发懵到双眼放光(5)-手写Promise之整体结构

2020-02-26
阅读 2 分钟
2.5k
{代码...} {代码...} 代码已同步更新到github上 [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)Promise从两眼发懵到双眼放光(4)-Promise的几个关键问题(二)Promise从两眼发懵到双眼放光(5)-手写Pro...

Promise从两眼发懵到双眼放光(4)-Promise的几个关键问题(二)

2020-02-26
阅读 3 分钟
1.7k
promise如何串连多个操作任务 {代码...} {代码...} {代码...} promise异常传透/穿透 {代码...} {代码...} {代码...} 中断Promise链 {代码...} {代码...} {代码...} 代码已同步更新到github上 [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵...

Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)

2020-02-26
阅读 4 分钟
1.9k
如何改变Promise的状态 {代码...} {代码...} 改变promise状态和指定回调函数谁先谁后 {代码...} {代码...} promise.then()返回的新promise的结果状态由什么决定 {代码...} {代码...} {代码...} 代码已同步更新到github上 [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-P...

Promise从两眼发懵到双眼放光(2)-Promise基础

2020-02-26
阅读 5 分钟
2.4k
Promise的基本使用 {代码...} {代码...} 为什么要用Promise {代码...} {代码...} Promise的API {代码...} {代码...} 代码已同步更新到github上 [链接] Promise系列文章 Promise从两眼发懵到双眼放光(1)-准备篇Promise从两眼发懵到双眼放光(2)-Promise基础Promise从两眼发懵到双眼放光(3)-Promise的几个关键问题(一)Promi...

Promise从两眼发懵到双眼放光(1)-准备篇

2020-02-26
阅读 3 分钟
2.2k
Bravo!少侠,老夫看您骨骼惊奇,特意奉上此秘籍,祝您早日修仙成功! 要想探究Promise,首先让我们做一些热身工作,明确几个概念. 函数对象与实例对象 {代码...} {代码...} 回调函数的类型 {代码...} {代码...} 结果为 {代码...} 结果为 Error处理 MDN上的Error文档 [链接] {代码...} {代码...} 代码已同步更新到github上 [链...