本文参考官方网站示例
1. 如果什么都不懂,参考我的package.json 。
2. 首先我们必须在 package.json 中添加 node-red 的部分
{ "name": "node-red-lower-case", "version": "1.0.0", "description": "自定义node-red节点 小写转化", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "node-red" : { "nodes": { "lower-case": "lower-case.js" } } }
3. 除了这个,项目中还必须包含一个 js 和html 文件,也就是上面指示的lower-case.js
lower-case.js 文件
module.exports = function(RED) { // RED 可以对node-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); // 输出的消息 如果msg为空则不发任何消息 也可以进行多个发送,node.send([msg1,msg2]) }); } RED.nodes.registerType("lower-case",LowerCaseNode); }
lower-case.html 文件
<script type="text/javascript"> RED.nodes.registerType(‘lower-case‘,{ // 节点的类型必须和上面注册的类型匹配 RED.nodes.registerType category: ‘function‘, // 节点调色板的类别 color: ‘#a6bbcf‘, // 使用的背景颜色 defaults: { // 节点可编辑的属性 name: {value:""} }, inputs:1, // 节点有多少输入 0 或者 1 outputs:1, // 节点有多少输出 0 或者更多 icon: "file.png", // 要使用的图标 label: function() { // 工作空间中要使用的标签 return this.name||"lower-case"; } }); </script> <script type="text/x-red" data-template-name="lower-case"> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name</label> <!--node-input 后面的名字和defaults 中的名字相同--> <input type="text" id="node-input-name" placeholder="Name"> <!--id 值和for 中的值相同--> </div> </script> <script type="text/x-red" data-help-name="lower-case"> <p>A simple node that converts the message payloads into all lower-case characters</p> <!--姐i单的提示信息--> </script>
原文:https://www.cnblogs.com/chengyangyang/p/11169046.html