Duktape over microchip 32を使用すると、すべて正常に動作します。 BTWは、モジュール読み込み(チャームのようにも動作しています)を使用しているとき、私はある種のパターン質問に直面しています。 私は今、私はanothersプログラム内でこのモジュールを使用していjsモジュール内でオブジェクトコンストラクタが定義されているときにCからJSオブジェクトコンストラクタを呼び出す
var MyObject = function(a){
this.a = a;
}
...
module.exports = MyObject;
JSモジュール内のコンストラクタを定義します。 は、私が説明することができます。
const toto = require('myobject');
var dummy = new toto('1');
まだ動作しています。モジュールを必要とするとき(基本的にユーザに関連しています)、影響を受ける名前( 'toto')を知らずに、CからMyObjectコンストラクタを呼び出しますか?
私は私がこれを回避するために、Cで完全にオブジェクトを宣言することができます知っているが、あなたの多分1つは持っている制約なしに代わりconst MyObject = require('myobject');
を宣言するための開発者に対し「をMyObjectに」を使用するためにシューッという音
duk_push_global_object(ctx); // [global]
duk_bool_t res = duk_get_prop_string(ctx, -1, "toto"); // [global toto]
duk_push_string(ctx, "1"); // [global toto param0]
duk_new(ctx, 3); // [global result]
duk_remove(ctx, -2); // [result]
すでにベストプラクティスです。 duktapeはnodejsのようにグローバルスコープへのアクセスをモジュールに定義していないようです。 (私はこれをduk_module_node.cに追加することもできますが、最後の解決策です。)
ご意見ありがとうございます。