2 个不稳定版本
0.2.0 | 2022年3月6日 |
---|---|
0.1.0 | 2022年1月26日 |
44 在 #hello-world
15KB
这是一个展示如何编写 nodex-plugin 的示例
只需将 nodex 作为依赖项添加
[package]
name = "nodex-plugin-helloworld"
version = "0.1.1"
edition = "2021"
[dependencies]
nodex = "^0.2"
然后使用指定的签名导出您的函数
use nodex::prelude::*;
pub fn init(env: NapiEnv, mut object: JsObject) -> NapiResult<()> {
object.set_named_property(
"hello_world",
env.func(|this, ()| {
let env = this.env();
let res: JsValue = env.run_script(
r#"
console.log("hello, nodex!");
"#
)?;
Ok(res)
})?,
)?;
Ok(())
}
因此,您可以将此crate用作nodex项目的依赖项
[package]
name = "plugin"
version = "0.1.0"
edition = "2021"
[lib]
crate-type = ["cdylib"]
[dependencies.nodex]
features = ["v8"]
version = "^0.1"
[dependencies.nodex-plugin-helloworld]
version = "0.1"
lib.rs
use nodex::prelude::*;
nodex::napi_module!(init);
fn init(env: NapiEnv, exports: JsObject) -> NapiResult<()> {
nodex_plugin_helloworld::init(env, exports)?;
Ok(())
}
依赖项
~13MB
~27K SLoC