はじめに
この記事は、@kjunichiの2014年パーソナルアドベントカレンダーの11日目の記事です。
nanに対応してしまえば、ネイティブモジュールが0.10と0.11に両対応出来て幸せ!という理解でいたのだが、どうやらnanに対応しているだけでは最近の0.11系なnode.jsではビルド出来ないことが分かった。
v8の驚異の進化
という訳で、nan化されているのを確認していたモジュールがNode.jsのv0.11.13あたりから激しく動かないことが分かりました。
少し覚えた事
コンテキストの取得
Context::GetCurrent()->Global()
は
NanGetCurrentContext()->Global()
String::Newは無くなってる
String::NewFromUtf8などを選んで使う模様。
String::AsciiValueは無くなっている
String::Utf8Value
を使ってみた。
Undefinedは無くなってる
NanReturnUndefined();
を使う。
Hoge::Newに第一引数が増えた件
第一引数にv8::Isolate::GetCurrent()などのisolateを入れる必要がある。ちなみに、v8::Isolate::GetCurrent()は廃止予定らしい。
NanAssignPersistentの変更
第一引数の型は不要になった模様。
まとめ
まだ、コンパイルを通すのに精一杯な状態なので、動かすところまで辿りつけていない。
なんのモジュールでハマっているかは内緒。