在Node-RED中,当你制作一个subflow时,可以定义环境变量,这些变量可以在subflow内部使用。环境变量通常用于在subflow中提供配置参数或共享信息。以下是使用环境变量的一般步骤:
-
创建Subflow:
- 打开Node-RED编辑器。
- 选择你的流程,右键点击并选择"Add Subflow"。
- 在Subflow中添加你的节点。
-
定义环境变量:
- 在Subflow编辑器中,选择左侧的"Environment"选项卡。
- 在这里,你可以添加环境变量,例如
{{MY_VARIABLE}}。点击“Add”按钮并输入变量的值。
- 在Subflow中使用环境变量:
- 在Subflow的节点配置中,你可以使用定义的环境变量。
- 在节点配置中,当你需要使用环境变量时,使用
{{MY_VARIABLE}}的形式引用它。
例如,如果你有一个环境变量名为MY_VARIABLE,你可以在Subflow中的节点配置中这样使用:
mqtt topic: {{MY_VARIABLE}}
这样,在Subflow实例化为主流程中的节点时,它将使用主流程中定义的实际值替换{{MY_VARIABLE}}。
在Function节点中,你可以通过以下方式使用这个环境变量:
// 获取子流程环境变量的值
var myVariableValue = env.get('MY_VARIABLE');
// 在控制台中输出
console.log('MY_VARIABLE value:', myVariableValue);
这里,env.get('MY_VARIABLE') 用于获取环境变量的值。在Function节点中,可以使用该值进行进一步的处理。
确保在Function节点中使用环境变量时,子流程实例已经被主流程调用,否则环境变量可能尚未设置。你可以在主流程中设置这些环境变量的默认值,以确保子流程在被调用时能够访问它们。