7月29日 打卡day6
今日学习
1、Esbuild是采用 Go 语言开发的一款打包工具
2、其优势
①可以充分利用多线程打包,并且线程之间共享内容
②直接编译成机器码
③内部打包算法充分利用多核 CPU ,尽可能充分利用所有的 CPU 内核
④从零开始造轮子,没有任何第三方库的黑盒逻辑,保证极致的代码性能
⑤从头到尾尽可能地复用一份 AST 节点数据,从而大大提高了内存的利用效率,提升编译性能
3、esbuild 插件机制
插件就是一个对象,里面有name和setup两个属性,name是插件的名称,setup是一个函数
4、Esbuild虚拟模块支持
①Esbuild对于虚拟模块的支持,是直接通过 namespace 来区分真实模块和虚拟模块,就不会有 \0 这样 hack 操作
②Esbuild还可以将模块名当做一个函数来进行编译,甚至可以在编译阶段实现函数递归的过程
5、更多用处
①代码压缩工具②代替 ts-node③代替 ts-jest④第三方库 Bundler⑤打包 Node 库⑥小程序编译⑦Web 构建
展开
评论