在flowforge中使用模版配置来自定义自己的node-red实例

添加模版设置

在FlowForge中,每个项目都是从模板创建的。模板为项目定义了一组预配置的选项。这包括运行时设置- 比较常见就是 Node-RED settings.js文件中设置的值。

模板还定义了项目可以自定义哪些选项。

本篇文章就来解释一下如何向模板对象中添加新的Node-RED运行时选项,以便开发者可以为单个实例进行自定义,并传递到底层Node-RED settings.js文件。

对于简单的布尔/字符串/数字类型来说,可以直接定义。对于其他类型(对象/数组),就变得稍微复杂,目前官方也没有好的例子。

对于一般的情况,可以按照以下步骤来设置模版:

  • 更新前端
    • 为设置选择一个名称,将其添加到已知设置和所需的任何验证逻辑列表中
    • 将其添加到适当的模板部分
  • 更新运行时
    • 将其添加到已知的设置列表和任何额外的验证逻辑中
  • 更新启动器
    • 使用新属性更新用于生成settings.js的模板

更新前端

前端中有一组视图用于显示和编辑模板。它们以两种不同的方式使用:

创建/编辑模板时。所有选项都可用,有一个下拉列表,允许用户在设置上设置策略(控制项目是否允许覆盖设置)
编辑项目设置时。显示所有选项,但仅允许用户修改模板策略允许更改的选项。
这种对视图的重用节省了大量代码重复,在实现时会造成一些复杂性。

为设置选择一个名称

该名称应尝试在Node-RED settings.js文件中匹配其相应的属性。

编辑frontend/src/pages/admin/Template/utils.js
将新属性名称添加到templateFieldsdefaultTemplateValues对象中。请注意,这些名称是扁平字符串,_用作层次,分隔符…。
如果值需要任何形式的验证,请将其添加到同一文件中的templateValidators中。

1.2 – 将其添加到适当的模板部分

目前支持自定义的配置有:

编辑
调色板
环境-不太可能添加其他选项的特殊情况
这些都存在于自己的文件下 frontendfrontend/src/pages/admin/Template/sections/

选择要添加的设置(即复选框或文本输入)最匹配的现有设置,并将其条目复制到适当的位置。

确保将复制的属性名称的所有引用更新为新属性名称。

更新运行时

将其添加到已知列表中

编辑forge/db/controllers/ProjectTemplate.js,将新属性添加到已知设置列表中。

在同一文件中,使用所需的任何额外验证或数据清理来更新validateSettings函数。

更新nr-launcher

在 flowforge-nr-launcher 项目里

编辑lib/runtimeSettings.js,将新的设置包含在生成settings.js文件中。请注意,你必须处理新设置不存在的情况-要么使用合理的默认值,要么省略该值。

来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 Node-RED 字数 1182 字 · 阅读约 3 分钟 更新 2023-04-05 永久链接 https://www.modbus.cn/%e5%9c%a8flowforge%e4%b8%ad%e4%bd%bf%e7%94%a8%e6%a8%a1%e7%89%88%e9%85%8d%e7%bd%ae%e6%9d%a5%e8%87%aa%e5%ae%9a%e4%b9%89%e8%87%aa%e5%b7%b1%e7%9a%84node-red%e5%ae%9e%e4%be%8b/
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注