vite 在 dev 模式下,采用 esbuild 的方式,我知道 esbuild 很快,比 webpac 快多少倍。但是我想问的不是快慢的这个问题,而是为什么不统一 dev 和 prod 的打包方式?这样不是会极大减少因为打包方式不同而导致两个环境有可能会出现 bug 的几率吗?
问题:区分两种打包方式是为了什么呢?
vite 在 dev 模式下,采用 esbuild 的方式,我知道 esbuild 很快,比 webpac 快多少倍。但是我想问的不是快慢的这个问题,而是为什么不统一 dev 和 prod 的打包方式?这样不是会极大减少因为打包方式不同而导致两个环境有可能会出现 bug 的几率吗?
问题:区分两种打包方式是为了什么呢?
9 回答9.4k 阅读
6 回答5.1k 阅读✓ 已解决
3 回答10.5k 阅读✓ 已解决
4 回答7.4k 阅读
5 回答8.3k 阅读
2 回答10.4k 阅读✓ 已解决
2 回答12.7k 阅读✓ 已解决
这个问题算是 vite 的经年槽点之一了,完全是作者个人的口味选择,“既要”“又要”呗。
vite 刚发布那会儿 esbuild 确实一是生态上不够成熟,二是当时也没有仅支持 ESM 的浏览器市场基础。但显然尤大是非常钟情于 esbuild 的“快”的,为此不惜额外做出搞很多插件做转换适配试图抹平差异也要把 esbuild 加进来,所以最后就成了现在这样。
真的特别在意这个问题、或者就是因 esbuild 和 rollup 差异导致的 Bug 解决不了的人,也就不会用 vite 了。
P.S. 等着 rolldown 吧,迟早有一天 vite 是会把 esbuild/rollup 全换掉的。