3 个不稳定版本
| 0.2.0 | 2021年1月27日 |
|---|---|
| 0.1.1 | 2021年1月27日 |
| 0.1.0 | 2021年1月27日 |
#723 在 Cargo 插件
20KB
121 代码行
cargo-刀
if [] == ![] {console.log("javascript sucks") }- JavaScript 的唯一替代品是 WASM
- Rust 编译成 WASM
- Rust 很棒
- 用 Rust 替换 Javascript
这是什么?
目前,要从 Rust 生成多个库输出,只能使用多个 crate。这有几个缺点,尤其是当你想要多个 WASM 文件时。
- 你需要多个
Cargo.toml文件,并需要为每个指定依赖 - 如果你有共享依赖,你还需要为它们指定一个单独的 crate
cargo-dao 是 wasm-pack(一个非常好的工具)的包装器,允许你使用单个 crate 编译多个 wasm 二进制文件。你只需要为每个输出二进制文件的代码部分添加 #[cfg(dao = "output_name")](有点像功能)。cargo-dao 将自动检测所有 #[cfg] 的实例,并为每个实例编译一个单独的二进制文件。
示例
在 wasm-pack-example 目录下,运行 cargo dao --target web --out-dir web/pkg,并在 web/ 中启动一个 web 服务器。检查浏览器中的控制台输出!
依赖
~37–50MB
~1M SLoC