基于bindgen+napi-rs 开发libeasytier-ffi node 扩展玩法简单说明
以前开发过基于libeasytier-ffi 的各种简单sdk,同时也有基于napi-ffi 开发的node 扩展,使用以及安装上并不是很方便(napi-ffi 的问题) 以下是基于napi-rs 以及bindgen 开发一个node 扩展,集成napi-rs 完整的构建,打包,部署可以方便使用
参考玩法
基于了bindgen,集合配置的头文件,快速生成rust 代码,然后集成到基于napi-rs 开发node 扩展中,这样很方便
说明
实际上开发方法比较多,一个是直接复用libeasytier-ffi的动态链接库,一个是直接使用类似libeasytier-ffi 包装的rust 代码到napi-rs 项目中,这样维护也方便一些(减少依赖了),以上只是简单说明下玩法,后边我完整介绍下代码玩法
参考资料
https://github.com/rust-lang/rust-bindgen
https://rust-lang.github.io/rust-bindgen/
https://mozilla.github.io/uniffi-rs/latest/
https://github.com/EasyTier/EasyTier/tree/main/easytier-contrib/easytier-ffi