2021-01-05 10:02:54 项目架构 公司项目分为以下几种架构: 主项目-扩展项目:扩展项目前端独立,是以 npm 包的形式安装到主项目,后端可以独立编译,但不能独立运行,即后端与主项目共用一套,主项目需要对扩展项目编译出的后端代码进行监听来实现增量编译 主项目-子项目:微前端架构,子项目前、后端独立可运行 需求背景 需要解决主项目-扩展项目架构下主项目的后端不能增量编译的问题 技术选型 选型 优点 缺点 直接在 node_modules 目录下开发 主项目已实现对 node_modules 下扩展项目的监听 每次 npm… »
2020-12-25 10:59:33 简化版 代码 这个 Promise 的实现不考虑任何异常情况,只考虑代码最简短,从而便于读者理解核心的异步链式调用原理。 核心案例 本文将围绕这个最核心的案例来讲,这段代码的表现如下: 500ms 后输出 1 500ms 后输出 2 实现 构造函数 首先来实现 Promise 构造函数 好,写到这里先回过头来看案例 分开来看,fn 就是用户传的函数,这个函数内部调用了 resolve 函数后,就会把 promise 实例上的 cbs 全部执行一遍。 到此为止我们还不知道 cbs… »
2020-11-24 17:16:25 预览 i Insert 模式,按 ESC 回到 Normal 模式,反正如果不知道现在是在什么模式下,就一直按 ESC,回到 Normal 模式,下面功能键都是在 Normal 模式触发的 此时 Insert 模式跟记事本一样 操作 vim 会经常在这两个模式下切换,就如同在记事本中你在选项卡和编辑内容窗口中切换一样 x Normal 模式下,按 x 删除当前光标向后所在的一个字符,大写字母 X 删除当前光标向前的字符 :wq 保存+退出 vim(:w 保存 :q… »
2020-11-17 11:41:47 概括 Webpack 以其使用简单著称,在使用它的过程中,使用者只需把它当作一个黑盒,需要关心的只有它暴露出来的配置。 本节将带你走进这个黑盒,看看 Webpack 是如何运行的。 基本概念 在了解 Webpack 原理前,需要掌握以下几个核心概念,以方便后面的理解: Entry:入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。 Module:模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry… »
2020-07-15 19:33:53 let 和 const 块级作用域的出现 通过 var 声明的变量存在变量提升的特性: 初学者可能会觉得只有 condition 为 true 的时候,才会创建 value,如果 condition 为 false,结果应该是报错,然而因为变量提升的原因,代码相当于: 如果 condition 为 false,结果会是 undefined。 除此之外,在 for 循环中: 即便循环已经结束了,我们依然可以访问 i 的值。 为了加强对变量生命周期的控制,ECMAScript… »