Node-Red自定義節(jié)點(diǎn)開發(fā)

參考官方文檔創(chuàng)建一個(gè)轉(zhuǎn)換小寫字符串的函數(shù)節(jié)點(diǎn):
https://nodered.org/docs/creating-nodes/first-node

1: 創(chuàng)建一個(gè)文件夾, 目錄為:D:\barco\code\nodeJs\node-red-node, 并在文件中添加以下文件:

  • package.json
  • lower-case.js
  • lower-case.html

如下圖所示:


image.png

package.json

{
  "name": "node-red-lower-case",
  "version": "1.0.0",
  "description": "自定義node-red節(jié)點(diǎn) 小寫轉(zhuǎn)化",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",



  "node-red" : {
        "nodes": {
            "lower-case": "lower-case.js"
        }
  }
}

通過npm init 創(chuàng)建的package.json 文件必須添加下面的node-red 部分,

image.png

lower-case.js

module.exports = function(RED) {
    function LowerCaseNode(config) {
        RED.nodes.createNode(this,config);
        var node = this;
        node.on('input', function(msg) {
            msg.payload = msg.payload.toLowerCase();
            node.send(msg);
        });
    }
    RED.nodes.registerType("lower-case",LowerCaseNode);
}

該節(jié)點(diǎn)的功能為: 監(jiān)聽節(jié)點(diǎn)的input事件, 拿到輸入的數(shù)據(jù), 并轉(zhuǎn)換為小寫后作為輸出數(shù)據(jù)發(fā)送給下一個(gè)節(jié)點(diǎn),

lower-case.html

<script type="text/javascript">
    RED.nodes.registerType('lower-case',{
        category: 'function',
        color: '#a6bbcf',
        defaults: {
            name: {value:""}
        },
        inputs:1,
        outputs:1,
        icon: "file.png",
        label: function() {
            return this.name||"lower-case";
        }
    });
</script>

<script type="text/html" data-template-name="lower-case">
    <div class="form-row">
        <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
        <input type="text" id="node-input-name" placeholder="Name">
    </div>
</script>

<script type="text/html" data-help-name="lower-case">
    <p>A simple node that converts the message payloads into all lower-case characters</p>
</script>

該html文件主要,定義節(jié)點(diǎn)屬性編輯窗口的樣式,如下圖:


image.png

節(jié)點(diǎn)部署

在node-red的用戶數(shù)據(jù)頁面, 默認(rèn)的用戶目錄的 .node-red 目錄下, 執(zhí)行:

 npm install 'D:\barco\code\nodeJs\node-red-node'
image.png

測試

如下圖, 啟動(dòng)nod-red 服務(wù)并測試該自定義的函數(shù)節(jié)點(diǎn):

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容