13 个不稳定版本 (4 个重大变更)
0.5.1 | 2022年12月5日 |
---|---|
0.4.1 | 2022年11月30日 |
0.3.2 | 2022年6月8日 |
0.2.0 | 2022年1月18日 |
0.1.3 | 2020年3月27日 |
#14 in #packaging
59 每月下载量
在 3 crates 中使用
53KB
1K SLoC
Web捆绑包
google/webbundle
是一个项目,旨在提供处理Web捆绑包格式的高性能库和各种工具。
这不是一个官方支持的谷歌产品。
规范
Crates
仓库中有几个crates。
webbundle
核心库。请参阅文档。
webbundle-cli
将资源打包为Web捆绑包的命令行工具。
安装
适用于Windows、macOS和Linux的预编译二进制文件的存档可用于 webbundle-cli
。.
如果您使用Rust,则可以使用 cargo
安装 webbundle-cli
。
cargo install webbundle-cli
示例
webbundle-cli
的二进制名称为 webbundle
。
创建
从 build/dist
目录下的文件创建 example.wbn
。这与 tar cvf example.tar build/dist
类似。
$ webbundle create example.wbn build/dist
列出
列出 example.wbn
的内容。这与 tar tvf example.tar
类似。
$ webbundle list ./example.wbn
提取
提取 example.wbn
的内容。这与 tar xvf example.tar
类似。
$ webbundle extract ./example.wbn
有关详细信息,请参阅 webbundle --help
。
webbundle-server
这是一个实验性的Web服务器,可以从底层资源动态地提供Web捆绑包。
webbundle-bench
这是一个用于测量浏览器使用Web捆绑包加载性能的基准工具。
待办事项
开发处于非常早期的阶段。有许多待办事项
- 解析器
- 支持b2格式
- 编码器
- 支持b2格式
- Web Bundles构建器
- 从目录结构创建Web Bundle
- 创建和操作Web Bundle文件的底层API
- 使用
http::Request
、http::Response
和http::Uri
以获得更好的用户体验 - 使用async/await来避免阻塞操作
- 更多CLI子命令
-
创建
-
列出
-
提取
- 使这些子命令更易用
-
- 关注性能。尽可能避免复制。
- 将这个crate拆分为几个crate
-
webbundle
:核心库 -
webbundle-cli
:CLI,类似于tar
命令 -
webbundle-ffi
:C或C++程序的国外函数接口,类似于chromium。 -
webbundle-server
:实验性http服务器,可以根据请求参数动态组装和提供webbundle -
webbundle-wasm
:WebAssembly绑定 -
webbundle-bench
:基准测试工具
-
贡献
有关说明,请参阅contributing.md。
依赖关系
~2–10MB
~100K SLoC