自己書面WebSocket-Clientライブラリを追加しました。私がrequire
をnode.jsに入れたとき、それはsettings.js
にそれを登録し、それを要求するのはglobal.get("RWSjs")
で、Node-REDのfunction-nodeと同じようにうまくいきます。自己書き込み型ノード-REDノードのrequire(<Module>)の問題
私は自分でノードを作成しなければならず、このファイルを必要としたかったので、動作しません。 Node-REDは、常にjavascriptの構文エラーのために、私には「配備されていない」というエラーが表示されます。
自己書き出しノードの.jsに自己書き換えモジュールを要求するにはどうすればよいですか?
事前にどうもありがとう、ピーター:)
編集:
いくつかのコード:
EVAL-R-char.js(ノード用コード)
module.exports = function(RED) {
// doesn't work:
var RWSjs = global.get("RWSjs");
function EvalRCharNode(config) {
RED.nodes.createNode(this,config);
this.instruction = config.instruction;
var node = this;
this.on('input', function(msg) {
//msg.payload = msg.payload.toLowerCase();
msg.payload = "Instruction: " + this.instruction;
node.send(msg);
});
}
RED.nodes.registerType("eval-R-char",EvalRCharNode);
}
。また、どのように/どこにあなた自身の「書かれたモジュール」を配備しましたか? – hardillb
申し訳ありませんが、コードを投稿するのを忘れて、質問に追加しました。フローはインジェクションとデバッグの出力で構成されます。私はRWSjsファイルを "必要とせずにノードをテストし、テストがうまくいけば、意図したテスト出力' Instruction:print(hello) 'を与えました。 'global.get'行を追加すると、「配備されていないノード」エラーが発生しました。私は 'functionGlobalContext'にNode-REDの' settings.js'を編集して私のモジュールを配備しました。私は 'RWSjs:require( './ jsModules/RWSjs.js')'という行を追加しました。関数ノードではうまくいきました。 –