原先的NodeJS要跑Addon,通常都是寫Native C++ Code
不過現在Rust的影響力日漸增加,路也不只一條
在我的Github分別提供了兩種做法
C++
搭配node-gyp使用
程式碼就不列了,寫出其他細節
binding.gyp的寫法如下
| 1 | { | 
編譯產生出fib.node,它的本質就是shared object
| 1 | $ node-gyp configure build | 
至於Nodejs的使用方式
| 1 | const Fib = require('fib'); | 
Rust
Rust的產生端比較簡單,重點在於Cargo.toml
注意crate-type那欄指定dylib,也就是shared object
| 1 | 
 | 
編譯產生libfib.so
| 1 | $ cargo build --release | 
Nodejs的使用方式就比C++版複雜一點,需要node-ffi
| 1 | const ffi = require('ffi'); |