在Node-RED中通过Node创建的各中flow的各个部分可以根据需要转化为JSON文件进行保存,UI编辑器中还提供了导入导出的功能界面进行操作。
事前准备
- 时间转换使用示例:https://liumiaocn.blog.csdn.net/article/details/104710348
- CSV使用示例:https://liumiaocn.blog.csdn.net/article/details/104727001
导入导出功能
导入导出功能在下图在功能菜单中可以进行使用
导出flow
比如在下图的Flow 1中选中中间的一个Node,然后希望此Node导出时,使用Export菜单选项即可
Export有三个选项,缺省是selected nodes,比如此处就是选中的 “时间转换”的Node的导出信息,另外还有两个选项页:
- current flow:当前flow,包含三个节点和连线的flow信息
- all flows: 所有的flow,本示例中主要包含Flow 1和“使用CSV”两个Tab中定义的flow信息
另外JSON格式可以使用紧凑方式,也可以使用格式化的JSON信息,比如选中formatted:
这里使用示例中选中Flow 1中的三个节点组成的flow的信息以formatted的方式导出(可以直接下载文件也可以导出至剪切板,之后直接使用ctrl + v即可粘贴使用了),详细信息如下所示:
[
{
"id": "ec475e12.7b432",
"type": "inject",
"z": "73554227.4474dc",
"name": "",
"topic": "",
"payload": "",
"payloadType": "date",
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"x": 140,
"y": 140,
"wires": [
[
"99255b3e.062578"
]
]
},
{
"id": "f1bd528c.1175",
"type": "debug",
"z": "73554227.4474dc",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 530,
"y": 340,
"wires": []
},
{
"id": "99255b3e.062578",
"type": "function",
"z": "73554227.4474dc",
"name": "时间转换",
"func": "// 使用payload创建日期对象\nvar date = new Date(msg.payload);\n// 转换payload的时间格式\nmsg.payload = date.toString();\n// msg中的payload的格式已经转换\nreturn msg;",
"outputs": 1,
"noerr": 0,
"x": 320,
"y": 240,
"wires": [
[
"f1bd528c.1175"
]
]
}
]
导入flow
创建一个名为Flow 3的Tab页,然后使用Import菜单项,将导出的JSON拷贝进去之后,单击Import按钮即可完成导入
选择希望放置的位置,单击即可将此flow导入了