node-red中子流程的环境变量如何使用?

1,134 阅读1分钟

在Node-RED中,当你制作一个subflow时,可以定义环境变量,这些变量可以在subflow内部使用。环境变量通常用于在subflow中提供配置参数或共享信息。以下是使用环境变量的一般步骤:

  1. 创建Subflow

    • 打开Node-RED编辑器。
    • 选择你的流程,右键点击并选择"Add Subflow"。
    • 在Subflow中添加你的节点。
  2. 定义环境变量

    • 在Subflow编辑器中,选择左侧的"Environment"选项卡。
    • 在这里,你可以添加环境变量,例如{{MY_VARIABLE}}。点击“Add”按钮并输入变量的值。

image.png

  1. 在Subflow中使用环境变量
    • 在Subflow的节点配置中,你可以使用定义的环境变量。
    • 在节点配置中,当你需要使用环境变量时,使用{{MY_VARIABLE}}的形式引用它。

例如,如果你有一个环境变量名为MY_VARIABLE,你可以在Subflow中的节点配置中这样使用:

mqtt topic: {{MY_VARIABLE}}

这样,在Subflow实例化为主流程中的节点时,它将使用主流程中定义的实际值替换{{MY_VARIABLE}}

image.png

在Function节点中,你可以通过以下方式使用这个环境变量:

// 获取子流程环境变量的值
var myVariableValue = env.get('MY_VARIABLE');

// 在控制台中输出
console.log('MY_VARIABLE value:', myVariableValue);

这里,env.get('MY_VARIABLE') 用于获取环境变量的值。在Function节点中,可以使用该值进行进一步的处理。

确保在Function节点中使用环境变量时,子流程实例已经被主流程调用,否则环境变量可能尚未设置。你可以在主流程中设置这些环境变量的默认值,以确保子流程在被调用时能够访问它们。