Skip to content
文档
插件
发布

发布插件

如果你更喜欢阅读代码,可以参考 官方插件的仓库 (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.wasmtarget/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 的日志太多,你可以通过启用 tracingrelease_max_level_* 来移除它,如下所示:

tracing = { version="0.1", features = ["release_max_level_info"] }