npm 包 @node-red/runtime 使用教程

阅读时长 8 分钟读完

简介

Node-RED 是一个基于 Node.js 的可视化编程工具,可以方便地在 Web 浏览器中创建流程式应用程序。它具有易于使用、可扩展和灵活的功能,被广泛用于物联网、数据分析等领域。其中,@node-red/runtime 是 Node-RED 的核心包,提供了一些关键的运行时功能,如运行时节点管理、数据存储等。

本文将介绍如何使用 @node-red/runtime 包来搭建一个简单的 Node-RED 运行时环境,并通过示例代码演示其具体使用方法。

安装

首先,我们需要在项目中安装 @node-red/runtime 包,可以使用 npm 命令进行安装:

安装完成之后,我们就可以在项目中引入该包,并使用它提供的 API 进行相关操作了。

创建运行时实例

在使用 @node-red/runtime 包前,我们需要先创建一个运行时实例。可以使用 runtime.create 方法来创建一个实例,需要传入一个配置对象作为参数,配置对象中包含了运行时的相关配置信息。

-- -------------------- ---- -------
----- ------- - -----------------------------

----- -------- - -
    -------------- ---------
    ------------- -------
    -------- -------------------------
--

----- -------- - -------------------------

其中,配置对象中的各项配置含义如下:

  • httpAdminRoot:运行时 HTTP 管理端点的根 URL,用于管理 Node-RED 的运行和配置;
  • httpNodeRoot:运行时 HTTP 数据端点的根 URL,用于向 Node-RED 实例提供数据;
  • userDir:用于存储 Node-RED 的用户配置和数据的目录路径。

加载节点

创建运行时实例之后,我们需要加载节点。可以使用 runtime.nodes.registerType 方法来注册节点,在节点注册完成后,我们还需要将它们添加到运行时实例中。

-- -------------------- ---- -------
----- ---------- - --------------------------

----------------------------------------

------------------------
    --- ----------
    ----- ---------------
    ----- --- ------
    ------ --
---

其中,myNodeType 是自定义节点类型的定义,包含节点的具体逻辑代码;instance.nodes.addNode() 方法用于将节点添加到运行时实例中,其中包含了节点的 ID、类型、名称和输出等信息。

启动运行时

加载节点之后,我们需要启动运行时。可以使用 instance.start() 方法来启动运行时,启动完成之后,Node-RED 将会开始监听指定的 HTTP 端口,并且可以通过该端口提供运行时可以访问的 API。

其中,instance.start() 方法返回一个 Promise 对象,可以使用 then() 和 catch() 方法来处理运行时的启动过程中出现的结果和错误信息。

示例代码

下面是一个简单的示例,演示了如何使用 @node-red/runtime 包来创建一个 Node-RED 运行时环境,并注册自定义的节点类型。在该示例中,我们注册了一个自定义节点类型 my-node-type,该类型节点输出一个字符串 Hello, World!。

-- -------------------- ---- -------
----- ------- - -----------------------------

----- ---------- - -
    --------- -------
    ------ -------
    --------- -
        ----- ------- ----
        ------ ------- ----
        -------- ------- ----
    --
    ------- --
    -------- --
    ----- ---------
    ------ -------- -- -
        ------ --------- -- ---------------
    --
    -------------- -------- -- -
        -----------------------------
    --
    ----------- -------- -- -
        --------------------------
    --
    ------------- -------- -- -
        ----------------------------
    --
    ------------- -------- -- -
        ----------------------------
    --
    ------------- -------- -- -
        ----------------------------
    --
    ------ -------- -- -
        ---------------------
    --
    --------- -------- -- -
        ------------------------
    --
    ------------- -------- -- -
        ----------------------------
    --
    ----------------- -------- -- -
        --------------------------------
    --
    ------------------- -------- -- -
        ----------------------------------
    --
    ------------------ -------- -- -
        ---------------------------------
    --
    ------------ -------- -- -
        ---------------------------
    --
    -------------- -------- -- -
        -----------------------------
    --
    ----------- -------- -- -
        --------------------------
    --
    -------- -------- -- -
        ---------------------- -----------
        ------------------- ------- ----------
    --
    -------- -------- -- -
        -----------------------
    --
    -------- -------- -- -
        -----------------------
    --
    ------- -------- -- -
        ------ ----------
        ----- -----------------
            ------ ----------------------------------
            ------ ----------- -------------------- -------------------
        ------
        ---- -----------------
            ------ ------------------------------------
            ------ ----------- --------------------- --------------------
        ------
        ---- -----------------
            ------ ----------------------------------------
            ------ ----------- ----------------------- ----------------------
        --------
    -
--

----- -------- - ----------------
    -------------- ---------
    ------------- -------
    -------- --------
---

----------------------------------------

------------------------
    --- ----------
    ----- ---------------
    ----- --- ------
    ------ --
---

------------------------ -- -
    --------------------- ------- ----------
---------------- -- -
    -------------------- -------- -------- --------- -------
---

总结

本文介绍了如何使用 npm 包 @node-red/runtime 来搭建一个简单的 Node-RED 运行时环境,包括创建运行时实例、加载节点、启动运行时等。通过简单的示例代码,帮助读者了解如何创建自定义节点类型,并将其注册到 Node-RED 运行时实例中。Node-RED 具有广泛的应用场景,帮助开发者简化了大量的代码,提高了开发效率。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb98bb5cbfe1ea0611898

纠错
反馈