Skip to content

Commit 4afb833

Browse files
author
zhangdong
committed
总结
1 parent 4d1923e commit 4afb833

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

frame/vue/apis.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,31 @@ keepalive有一个特殊标识表明他是缓存组件,keepalive通过ctx实现
3838

3939
缓存策略类似于 LRU 缓存,也就是最久没有被使用的先销毁
4040

41+
## vite为什么比webpack快
42+
浏览器开始原生支持 ES 模块,且越来越多 JavaScript 工具使用编译型语言编写
43+
44+
更快的开发服务器启动
45+
46+
当冷启动开发服务器时,基于打包器的方式启动必须抓取并构建整个应用。然后才能提供服务
47+
48+
vite把模块分为依赖和源码两部分
49+
50+
首次启动vite,使用esbuild进行预构建依赖,默认情况下,它是自动且透明地完成的,esbuild使用go写的,速度比基于js的工具更快
51+
52+
vite以原生esm提供源码,这实际上是让浏览器接管了部分打包工作,vite只需要在浏览器请求源码时进行转换并按需提供源码
53+
54+
## 依赖预构建:
55+
利用esbuild将依赖全转成esm
56+
57+
为了提高后续页面的加载性能,Vite 将那些具有许多内部模块的 ESM 依赖项转换为单个模块
58+
59+
对于有多个内置模块的依赖,大量请求会导致浏览器端的网络拥塞,使页面加载变得明显缓慢
60+
61+
将这样的依赖预构建成单个模块,就只需要一个http请求
62+
63+
## 热更新
64+
65+
4166

4267

4368

0 commit comments

Comments
 (0)