尝试使用环境变量中的变量填充MQTT节点(带有红色节点的本地节点)。我在flows.json中使用了how
和${}
表示法,还尝试了settings.js中的process.env.VAR。用户名和主机名起作用(我认为它们是文本字段),但是密码不呈现,而是保存env变量名而不是其内容。即:$()
而不是$(MQTT_PASSWORD)
。
有人解决了这个问题吗?或有信息吗?
答案 0 :(得分:2)
在节点属性中使用env-vars的原因是,每当Node-RED启动时就可以对其进行动态设置。
如果在保存流配置时将其替换为env-var,则它将被硬编码为该值,将来您将无法更改env-var。这就是保存的配置仍然具有$(MQTT_PASSWORD)
的原因。
运行时在启动时创建有问题的节点的实例时要用env-var的当前值代替。
答案 1 :(得分:0)
这是我的 flow.cred 文件。引用的节点是 MQTT 配置节点。 它似乎有效:
{
"edf18224.a363e": {
"user": "${MQTT_USER}",
"password": "${MQTT_PASSWORD}"
}
}