node-redでのカスタムノードの作成Java ScriptファイルAPIの記述の詳細

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

node-redでのカスタムノードの作成Java ScriptファイルAPIの記述の詳細

前の記事

node-redでは、必要なノードが見つからない場合は、ニーズに合わせてノードをカスタマイズできます。前回の記事では、大文字小文字の変換を例に、ノードの作成方法を簡単に説明しました。例は簡単ですが、カスタムノードを作成する手順とノードの構成要素を理解することができます。この記事では、カスタムノードのjsファイルに焦点を当てます。APIやその他の機能について詳しく説明します。以前の記事では、ノードのjsファイルは、設定パラメータの課金、ビジネスロジックの処理、データの下流への送信に使用されるノードのコアファイルであることがわかりました。下を一緒に見てみましょう。

カスタム·ノードJavaScriptファイル

ノードビルダー Node Builder

すべてのノードはコンストラクタによって生成された関数であり、新しいインスタンスが作成される。この機能は、実行時に登録され、
この機能は、設定オブジェクトを設定することでFlow Editorに存在します。
この関数では、最初に呼び出します。RED.nodes.createNode機能をシリアル化し、他のノードで共有する関数。この後、

ビジネスコードを書くことができます。
以下の通り

情報の受領

1つ登録する。inputイベントは、ストリーム全体の上流ノードからメッセージを受信します。イベントを登録すると、イベントのコールバック関数にmsgとsendの2つのパラメータがあり、msgは上流から渡されたデータです。sendは下流に送信される関数です。3つ目の関数doneは、ノードがビジネスロジック処理を完了した後に呼び出される関数です。
例:例

function SampleNode(config) {
    RED.nodes.createNode(this,config);
    // node-specific code goes here

}

RED.nodes.registerType("sample",SampleNode);

情報の受領

1つ登録する。inputイベントは、ストリーム全体の上流ノードからメッセージを受信します。イベントを登録すると、イベントのコールバック関数にmsgとsendの2つのパラメータがあり、msgは上流から渡されたデータです。sendは下流に送信される関数です。3つ目の関数doneは、ノードがビジネスロジック処理を完了した後に呼び出される関数です。
例:例

this.on('input', function(msg, send, done) {
    // do something with 'msg'

    // Once finished, call 'done'.
    // This call is wrapped in a check that 'done' exists
    // so the node will work in earlier versions of Node-RED (<1.0)
    if (done) {
        done();
    }
});

メッセージを送る。

カスタムノードで下流に情報を送信するのは簡単です。
以下のようにsend関数を使うだけです。

var msg = { payload:"hi" }
this.send(msg);

ノードが入力イベントで下流に情報を送信したい場合は、そうすることができます。

let node = this;
this.on('input', function(msg, send, done) {
    // For maximum backwards compatibility, check that send exists.
    // If this node is installed in Node-RED 0.x, it will need to
    // fallback to using `node.send`
    send = send || function() { node.send.apply(node,arguments) }

    msg.payload = "hi";
    send(msg);

    if (done) {
        done();
    }
});

入力イベントのコールバック関数には3つのパラメータがあります。1つ目は受信した情報、2つ目は送信関数です。
3つ目はDone機能です。使用シナリオは異なります。

複数のパラメータを下流に入力する場合は、このように記述できます。

this.send([ msg1 , msg2 ]);

this.send([ [msgA1 , msgA2 , msgA3] , msg2 ]);

日記イベント一覧

カスタムノードにログを表示するには、thisの下でlog、warnなどのメソッドを呼び出すだけです。ログはコンソールに表示されます。

this.log("Something happened");
this.warn("Something happened you should know about");
this.error("Oh no, something bad happened");

// Since Node-RED 0.17
this.trace("Log some internal detail not needed for normal operation");
this.debug("Log something more details for debugging the node's behaviour");

ステータスの設定

一部のノードでは、正常または間違った設定を示すステータス表示があります。
このステータスはjsファイルでも設定され、statusを呼び出すだけで済みます。
以下の通り

this.status({fill:"red",shape:"ring",text:"disconnected"});

fillの色
shape状態のアイコン
textステータスのテキスト

ノード設定のカスタマイズ

ノードを作成するときに、ノードのプロパティを設定ファイルに設定したい場合は、これを行うことができます。
あなたのタイプがあれば、fizz-nodeそして、それらを取る。color 設定ファイルに入れて、設定ファイルで設定する必要があります。fizzNodeColor。
使用する際にはRED.settings.fizzNodeColor訪問する。

この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注