Node-RED面板中如何为自定义节点创建子分类或树形结构?
Node-RED自定义节点实现面板子分类/树形结构的方法
嗨,作为Node-RED新手能想到给自定义节点做分类管理,这意识真的很棒!答案是完全可以实现的,我来给你一步步讲清楚具体怎么做:
核心实现:利用package.json的categories字段
Node-RED本身就支持通过斜杠分隔的分类名称来生成树形子分类,这是最直接的方法,不需要额外复杂的开发。
1. 在package.json中定义分类结构
在你的自定义节点包的package.json文件里,找到node-red配置段,添加或修改categories数组,用斜杠/来表示父子分类关系。比如:
{ "name": "my-custom-nodes", "version": "1.0.0", "node-red": { "nodes": { "data-converter": "nodes/data-converter.js", "weather-api": "nodes/weather-api.js" }, "categories": [ "我的专属工具", "我的专属工具/数据处理", "我的专属工具/第三方API" ] } }
这里我的专属工具是主分类,后面两个是它的子分类,Node-RED会自动识别并在面板里生成可展开的树形结构。
2. 给单个节点分配子分类
接下来,在每个自定义节点的HTML定义文件中,给节点指定对应的分类路径。比如data-converter.html里的节点注册代码:
<script type="text/javascript"> RED.nodes.registerType('data-converter', { category: '我的专属工具/数据处理', // 其他节点配置:label、inputs、outputs等 label: '数据格式转换', inputs: 1, outputs: 1 }); </script>
这样这个节点就会出现在我的专属工具下的数据处理子分类里。
注意事项
- 确保你的Node-RED版本是v1.0及以上,这个版本才正式支持子分类的树形显示
- 分类名称尽量避免特殊字符,防止出现显示异常
- 修改配置后,记得重启Node-RED,新的分类结构才会生效
- 如果想调整分类的排序,可以调整
categories数组里的顺序,Node-RED会按照数组顺序在面板里展示分类
内容的提问来源于stack exchange,提问作者Vinod Poorma
相关产品推荐
相关产品推荐

