Esbuild,一个用GO语言开发的比Webpack快100倍的JavaScript打包工具

Posted 前端风尚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Esbuild,一个用GO语言开发的比Webpack快100倍的JavaScript打包工具相关的知识,希望对你有一定的参考价值。

Esbuild 是一个用 Go 语言编写的用于打包,压缩 javascript 代码的工具库。它最突出的特点就是打包速度极快 (extremely fast),下图是 esbuild 跟 webpack, rollup, Parcel 等打包工具打包效率的一个 benchmark:

图片来源 esbuild Github 仓库


为什么那么快?以下:

  • 它是用 Go 语言编写的,该语言可以编译为本地代码

  • 解析,生成最终打包文件和生成 source maps 的操作全部完全并行化

  • 无需昂贵的数据转换,只需很少的几步即可完成所有操作

  • 该库以提高编译速度为编写代码时的第一原则,并尽量避免不必要的内存分配

更多详细介绍,详见esbuild 官方文档:https://esbuild.github.io/api/

文档中还包含 esbuild 的整体架构详解及架构图,如有对其内部实现感兴趣或想要参与贡献代码的朋友来说,非常值得一看。个人认为是一个非常有潜力的项目,可以踊跃试用、关注。

以上是关于Esbuild,一个用GO语言开发的比Webpack快100倍的JavaScript打包工具的主要内容,如果未能解决你的问题,请参考以下文章

Vercel: ERROR 错误: 找不到包“esbuild-linux-64”,esbuild 需要这个包

Go语言做Web应用开发的框架,哪一个更适合入门

我的Go+语言初体验——在Docker建立一个可以用Go+语言开发的容器环境(以Ubuntu容器为例)

编程实践用 go 语言实现一个SQL DSL

用Go语言编程的利与弊

Linux系统Go开发环境搭建