基于Linux创建简单的Node-RED节点

参考自:官方文档

概述

由于一个Node-RED节点需要包含三类文件

  • 一个定义节点功能的 JavaScript 文件,
  • 一个 html 文件,用于定义节点的属性、编辑对话框和帮助文本。
  • 文件用于将其全部打包为 npm 模块。package.json

创建一个目录,在该目录中,创建以下文件:

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

package.json

这是 Node.js 模块用来描述其内容的标准文件。生成此文件使用如下命令

npm init

并根据提示将文件命名为node-red-contrib-example-lower-case

其他提示可以按回车键默认

生成后,还必须添加一个部分:node-red

{ "name" : "node-red-contrib-example-lower-case", ... "node-red" : { "nodes": { "lower-case": "lower-case.js" } } }

lower-case.js

创建lower-case.js文件

1
2
3
4
5
6
7
8
9
10
11
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);
}

 

lower-case.html

创建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>

在 Node-RED 中测试节点

进入到node-red的安装目录下,运行npm install <上面的三个文件的目录路径>

# 进入到node-red目录 cd ~/.node-red # 使用npm打包上面三个文件的目录 npm install ~/dev/node-red-contrib-example-lower-case

运行成功后,在node-red的下的node_modules目录下,能看到生成的node-red-contrib-example-lower-case

重新启动 Node-RED ,可以查看到我们自定义的节点了


__EOF__

本文作者郑亦然
本文链接https://www.cnblogs.com/zhengyiran/p/15853253.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   郑亦然  阅读(919)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示