Node-RED的RED.nodes系列函数最新官方文档在哪获取?
Node-RED 内部API说明
以下提及的API均为Node-RED内部非公开接口,仅用于核心节点开发、运行时二次开发场景,官方未提供稳定的公开文档,接口行为可能随版本迭代发生不兼容变更,这也是你找到的相关资料普遍过时的核心原因。
各接口功能说明(基于Node-RED 3.x/4.x最新稳定版)
RED.nodes.createNode()
这是运行时侧专属API,也是自定义节点实现的核心入口,接收两个入参:自定义节点实例对象、节点部署配置项。调用完成后会自动为节点实例挂载所有标准节点能力,包括输入事件监听、状态设置、错误上报、消息发送等内置方法,同时完成该节点在运行时流实例中的注册流程。编辑器侧不存在同名API,编辑器的节点创建走独立的节点定义注册逻辑。RED.nodes.getNode()
该接口同时存在于运行时和编辑器侧,但返回内容差异极大:- 运行时侧:传入节点ID,返回运行时内存中对应ID的已实例化节点对象,可直接调用节点公开方法、读取节点实时运行状态
- 编辑器侧:传入节点ID,返回编辑器侧存储的节点配置对象,仅包含部署时写入的静态配置项,不包含任何运行时状态数据
RED.nodes.eachNode()
该接口同时存在于运行时和编辑器侧,为节点遍历工具方法:- 运行时侧:遍历当前所有已加载启动的节点实例,回调入参为运行时节点实例对象
- 编辑器侧:遍历当前工作区中所有已配置的节点(包括未部署的临时新增节点),回调入参为编辑器侧的节点配置对象
- 你提到的
RED.nodes.originaFlow()为拼写错误,正确写法是RED.nodes.originalFlow(),仅运行时侧存在,返回当前加载的流配置原始JSON结构,与部署时提交的配置完全一致,不包含运行过程中产生的任何临时状态数据。
获取最新准确信息的方式
由于没有官方公开文档,最准确的信息直接对应你使用的Node-RED版本的源码:
- 运行时侧API定义位于源码的
@node-red/runtime/lib/nodes/index.js文件 - 编辑器侧API定义位于源码的
@node-red/editor-client/src/js/ui/nodes.js文件
所有内部API的参数、返回值、行为逻辑都可以从对应版本的源码注释和实现逻辑中获取,是唯一不会过时的信息来源。
内容的提问来源于stack exchange,提问作者Andreas Rozek
相关产品推荐
相关产品推荐

