发布插件
如果您更喜欢阅读代码,可以参考 官方插件的仓库 (在新标签页中打开).
创建 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"
删除发布模式的日志
如果您的 crate 的日志过多,您可以通过启用 release_max_level_*
of tracing
来删除它,例如
tracing = { version="0.1", features = ["release_max_level_info"] }