在 `web-sys` 中支持更多 Web API
-
确保描述接口的 `.webidl` 文件存在于 `crates/web-sys/webidls/enabled` 目录中的某个位置。
首先,检查我们是否拥有您的 API 的 WebIDL 定义文件
grep -rn MyWebApi crates/web-sys/webidls
-
如果您的接口定义在 `crates/web-sys/webidls/enabled` 目录中的 `.webidl` 文件中,请跳到步骤 (3)。
-
如果您的接口尚未在任何文件中定义,请在相关标准中找到 WebIDL 定义,并将其作为新的 `.webidl` 文件添加到 `crates/web-sys/webidls/enabled` 中。确保它是一个标准的 Web API!我们不想将非标准 API 添加到此 crate 中。
-
如果您的接口定义在任何 `crates/web-sys/webidls/unavailable_*` 目录中的 `.webidl` 文件中,则需要将其移动到 `crates/web-sys/webidls/enabled` 中,例如
cd crates/web-sys git mv webidls/unavailable_enum_ident/MyWebApi.webidl webidls/enabled/MyWebApi.webidl
-
-
重新生成 `web-sys` crate 自动生成的绑定,您可以使用以下命令:
cd crates/web-sys cargo run --release --package wasm-bindgen-webidl -- webidls src/features ./Cargo.toml
然后,您可以使用 `git diff` 来确保绑定看起来正确。