闪烁之狐
Monorepo 管理项目(以Vue为例) Monorepo 管理项目(以Vue为例)
Monorepo 是管理项目代码的一个方式,指在一个项目仓库(repo)中管理多个模块/包(package)。 Vue3源码采用 monorepo 方式进行管理,将模块拆分到package目录中。 一个仓库可维护多个模块,不用到处找仓库
2023-04-24
Reactivity方法的实现 Reactivity方法的实现
reactive方法会将对象变成 proxy 对象 基本实现 reactivity.ts import { isObject } from "@vue/shared" export function reacti
2023-04-21
Proxy和Reflect的使用 Proxy和Reflect的使用
不使用 Reflectlet person = { name: "John Doe", get aliasName() { return "**" + this.name }, set
2023-04-21
如何顺序执行10个异步任务? 如何顺序执行10个异步任务?
方法一:使用 async/await 和 for 循环这种方法使用 async/await 和 for 循环,每次只执行一个异步任务,并等待其完成后再执行下一个任务。 const sleep = (delay) => { re
2023-03-23
systemJS 使用及其原理解抛 systemJS 使用及其原理解抛
是一个通用的模块加载器,它能在浏览器上动态加载模块。微前端的核心就是加载微应用,我们将应用打包成模块,在浏览器中通过 systemJS 来加载模块。 1. 基本使用搭建 react 开发环境npm init -y npm install
2023-03-20
为什么需要微前端? 为什么需要微前端?
微前端就是将不同的功能按照不同的维度拆分成多个子应用。通过主应用来加载这些子应 用。 微前端的核心在于拆, 拆完后在合,实现分而治之! 1. 微前端解决的问题 不同团队(技术栈不同),同时开发一个应用 每个团队开发的模块都可以独立开发,
2023-03-20
webpack 编译流程 webpack 编译流程
webpack 编译流程 初始化参数:从配置文件和 Shell 语句中读取并合并参数,得出最终的配置对象 用上一步得到的参数初始化 Compiler 对象 加载所有配置的插件 执行对象的 run 方法开始执行编译 根据配置中的entry找出
2023-03-20
CommonJS 和 ES Modules CommonJS 和 ES Modules
在使用上的差别主要有: CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。 CommonJS 模块是运行时加载,ES6 模块是编译时输出接口(静态编译)。 CommonJs 是单个值导出,ES6 Module 可
2023-03-20 高红翔
webpack 打包后模块分析 webpack 打包后模块分析
1. 同步加载没有依赖src\index.js console.log(title) bundle.js //导出对象 var exports = {} //模块内容 console.log(title) 打包模块分
2023-03-16
hasOwnProperty hasOwnProperty
Object.prototype.hasOwnProperty()hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。 const object1 = {
2023-03-15
defineProperty 和 toStringTag defineProperty 和 toStringTag
1. toStringTag Symbol.toStringTag 是一个内置 symbol,它通常作为对象的属性键使用,对应的属性值应该为字符串类型,这个字符串用来表示该对象的自定义类型标签 通常只有内置的 Object.prototyp
2023-03-15
Hexo Hexo
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
2023-03-15
9 / 11