#minify #javascript #js #minification

构建 esbuild-rs

Rust 对 esbuild 的包装,esbuild 是一个用 Go 编写的极快 JS 压缩器

18 个版本

0.13.8 2021 年 10 月 23 日
0.12.19 2021 年 8 月 8 日
0.8.30 2021 年 1 月 7 日
0.2.1 2020 年 7 月 25 日
0.0.8 2020 年 7 月 19 日

压缩 中排名第 620

每月下载 36
3 个包中使用 (通过 hyperbuild)

MIT 许可证

2MB
47K SLoC

Go 45K SLoC // 0.1% comments Rust 1K SLoC // 0.0% comments

esbuild-rs

使用 FFI 和 Cgo 的 Rust 对 esbuild 的包装。esbuild 是一个用 Go 编写的极快 JavaScript 压缩器。

使用

此库需要 Go 1.13 或更高版本。Go 源代码包含在内,并在构建时编译。构建不会干扰或创建 GOROOTGOPATH 中的文件,也不会下载任何 Go 依赖项。

请参阅 文档 了解 API。

异步

使用 esbuild 的分支以利用 Go 调度器以实现最佳并发性。提供友好函数,使用 Future,适用于大多数情况;对于高级使用,也提供直接函数,该函数接受回调并立即返回,需要在上面进行额外的并发管理。

Windows

由于 Cgo 使用 GCC,因此需要 GCC 编译器来编译 Go 库,即使使用 MSVC Rust 工具链也是如此。建议使用 TDM-GCC

如果使用 msvc 工具链,则此库将编译 DLL,将其嵌入生成的 Rust 二进制文件中,并在运行时从内存中加载它使用 MemoryModule。这将在构建时和运行时透明发生,无需额外努力。

依赖项