6个版本 (重大更新)
0.5.1 | 2022年12月5日 |
---|---|
0.4.1 | 2022年11月30日 |
0.3.0 | 2022年6月8日 |
0.2.0 | 2022年5月2日 |
0.1.0 | 2020年4月15日 |
#590 in HTTP服务器
66KB
1.5K SLoC
Web包
google/webbundle
是一个旨在提供高性能库和用于处理Web包格式的各种工具的项目。
这不是Google官方支持的产品。
规范
包
仓库中有几个包。
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包构建器
- 从目录结构创建Web包
- 用于创建和操作Web包文件的底层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。
依赖项
~15-26MB
~403K SLoC