9 个不稳定版本 (4 个重大变更)

0.5.1 2022年12月5日
0.5.0 2022年12月2日
0.4.1 2022年11月30日
0.3.2 2022年5月30日
0.1.0 2020年4月15日

#1793 in 命令行工具

Download history 88/week @ 2024-04-21 160/week @ 2024-07-28

每月160 次下载

Apache-2.0

67KB
1.5K SLoC

Web Bundles

build

google/webbundle 是一个旨在提供高性能库和用于处理 Web Bundles 格式的各种工具的项目。

这不是一个官方支持的 Google 产品。

规范

在仓库中有几个包。

webbundle

crates.io

核心库。请参阅 文档

webbundle-cli

crates.io

用于将资源打包成 Web Bundles 的命令行工具。

安装

提供适用于 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

crates.io

这是一个实验性的 Web 服务器,可以从底层资源动态提供 Web Bundles。

webbundle-bench

crates.io

Web 包的浏览器加载性能基准工具。

待办

开发处于非常早期阶段。有很多待办事项

  • 解析器
    • 支持 b2 格式
  • 编码器
    • 支持 b2 格式
  • Web 包构建器
    • 从目录结构创建 Web 包
    • 用于创建和操作 Web 包文件的底层 API
  • 使用 http::Requesthttp::Responsehttp::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

依赖项

~11–22MB
~322K SLoC