发布插件
如果你更喜欢阅读代码,可以参考 官方插件的仓库 (opens in a new tab)。
创建一个 npm 包
构建一个 wasm 插件
你可以通过运行以下命令将你的插件构建为 wasm 文件:
cargo build-wasi --release // build wasm32-wasi target binary
cargo build-wasm32 --release // build wasm32-unknown-unknown target binary
它将创建 target/wasm32-wasi/release/your_plugin_name.wasm
或 target/wasm32-unknown-unknown/release/your_plugin_name.wasm
,具体取决于你的配置。
创建一个 npm 包
将以下内容添加到你的 package.json
中:
package.json
{
"main": "your_plugin_name.wasm",
"scripts": {
"prepack": "cargo prepublish --release && cp target/wasm32-wasi/release/your_plugin_name.wasm ."
},
}
高级:改进你的插件
调整配置以减小二进制文件大小
你可以通过配置 cargo 来减小插件的大小。
在你的 Cargo.toml
文件中,你可以添加以下行。
Cargo.toml
[profile.release]
# This removes more dead code
codegen-units = 1
lto = true
# Optimize for size
opt-level = "s"
# Optimize for performance, this is default so you don't need to specify it
# opt-level = "z"
# Strip debug symbols
strip = "symbols"
移除 release 模式下的日志
如果 crate 的日志太多,你可以通过启用 tracing
的 release_max_level_*
来移除它,如下所示:
tracing = { version="0.1", features = ["release_max_level_info"] }