My Thinking in Public

Here I share my reflections on building products, writing code, and living a deliberate life.

秒启动的基石,vite 依赖预构建的原理

vite 在开发环境能够做到秒启动的原因有两个 No Bundle:即跳过打包,通过浏览器 ESModule 解析源文件 依赖预构建:将常用依赖提前编译和处理,...

深入 vite 原理,vite 是如何解析配置文件的

在上一篇文章介绍了在开发环境启动 vite 的整体实现过程,其中第一步配置文件解析是最为重要的部分,下面展开讲讲 vite 解析配置文件的实现原理 配置文件解析...

初识 vite 原理,vite 是如何启动项目的

我们使用 vite 的时候,只需要在 package.json 中定义一个简单的命令,就可以启动项目,那么这个简单的命令,是如何启动 vite 项目的呢,下面我...

拒绝复杂 if-else,前端策略模式实践

设计模式的重要性 为什么要学习和使用设计模式,我觉得原因主要有两点 解除耦合:设计模式的目的就是把 “不变的” 和 “可变的” 分离开,将 “不变的” 封装为统...

vue Router 4源码解析2:url 如何跳转

在上一篇文章我介绍了如何创建路由,下面我们来分析当输入一个 url 时,如何通过路由跳转到对应页面 基础概念介绍 先介绍一下浏览器的 window.locati...

pinia 源码实现解析

基础介绍 pinia 是一个同时支持 Vue2 / Vue3 的状态管理工具,相比于 vuex,pinia 有三个优点 简化概念,只保留 state、gette...

vue3 源码学习:reactive 响应式原理

reactive 功能介绍 根据官方的推荐,reactive 通常用于创建响应式对象或者数组,本质上是对原始对象的代理,所以响应式对象和原始对象是不相等的 但是...

Page 3 of 6