JavaScript や Google v8 エンジン用の永続化フレームワークはありますか?
オブジェクト (関数などを含む) のグラフ全体を保存 (シリアル化) し、後で再読み込みしたいと考えています。JSON は、関数の格納を許可せず、ツリー状の構造しか許可しない (つまり、同じオブジェクトを参照する 2 つのオブジェクトがない) ため、十分ではありません。
プログラムのユーザーが JavaScript でカスタマイズできるようにしたいので、一般的に (つまり、v8 を埋め込んだプログラムを作成する時点で JavaScript コードを知らなくても) できるようにする必要がありますが、プログラムの状態 (カスタマイズの状態を含む) を保存し、後で再ロードします。したがって、JavaScript エンジンの状態を保存する必要があります。
編集:
例:
次のコードがあるとします。
var obj = { a: 4, b: function (x) { return x + this.a; } }
// ...
if ( ... ) { obj.a = 5; }
// ...
if ( ... ) { var c = 1; obj.b = function (x) { return x + this.a + c; } }
// ...
// now I want to serialize obj
次に、(プログラムのロジックに関するメタ情報なしで)obj
シリアライズして後でデシリアライズしてobj.b (2)
、シリアライズ前と同じ結果をデシリアライズ後に配信することは可能ですか?
2 番目の編集:閉鎖に注意してください。