这方面目前来看,esbuild 用做 dev-server,然后 bundle 走另外一个 pipeline 是正确的选择。
vite 就是这种,利用浏览器对 esm 的支持,只编译需要的文件。而 webpack/rollup 等等的 bundler 会把所有文件都分析一遍,不管用得着用不着。项目一旦大起来,这个复杂度不是换成 rust 就能降低的。
另外一方面,esbuild 做的事情也不是 swc 能替代得了的。作者明确表示过,整个设计都是以速度优先,能做的事情非常有限,也不支持 plugin。简单来说,除了类型擦除,几乎不做任何事。类型检查交给 ide/editor 解决,在 build 之前自己跑 tsc 去检查。
另外,微软最近有一个新提案,让 js 支持 type 语法。简单来说,ts 就是合法的 js,但类型相当于 jsdoc 的作用,js 引擎不做类型检查。如果通过了话,以后连类型擦除的工作都不用了,基本上 dev-server 就是做点儿加 metadata、解决一下 path aliases,我理解连 sourcemap 都不用生成了。
【 在 beep (菜M.喵星耗子) 的大作中提到: 】
: 我说的前端工具链指的是swc那些, 把 babel webpack tsc 等等用 rust 重写, 速度可以提高两个数量级
--
FROM 203.211.108.*