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