npm 包 node-red-contrib-separate-flow-json 使用教程

阅读时长 8 分钟读完

前言

在 Node-Red 中,一般采用 JSON 格式来编写流程,当流程比较复杂时,JSON 文件变得十分庞大,可读性也很差。为了提高 Node-Red 流程的可读性和可维护性,我们可以使用 node-red-contrib-separate-flow-json 这个 npm 包来对 JSON 文件进行拆分、引用。

安装

可以通过以下命令安装 node-red-contrib-separate-flow-json

使用

配置 JSON 文件

在 Node-Red 中,我们可以使用 File 节点来读取 JSON 文件,如下图所示:

在 JSON 文件中,我们可以使用 $ref 关键字来引用其他 JSON 文件,如下所示:

其中,path/to/another/flow.json 是被引用的 JSON 文件路径,path/to/node 是被引用节点的路径。

引入 npm 包

在 Node-Red 中,我们可以通过 SettingsPaletteInstallnode-red-contrib-separate-flow-json 安装 node-red-contrib-separate-flow-json

修改 Node-Red 配置文件

找到 Node-Red 的配置文件 settings.js,添加以下内容:

使用 npm 包

在流程中添加 separate-flow-json 节点,如下图所示:

在节点的配置中,可以指定 JSON 文件路径和需要引用的节点路径,如下所示:

示例

以下是一个拥有多个 JSON 文件引用的示例:

flow.json
-- -------------------- ---- -------
-
    ---------- -----------------------------------------------
    ------- ---------
    ------------- -
        ------ - ------- -------- --
        ------- - ------- -------- --
        ----------- - ------- -------- --
        ----------- - ------- -------- -
    --
    ----------- --------
    -------- -
        ---------------------- -
            ------- --------
            -------- -
                ------- ---------
                --------- -------
            -
        -
    --
    ------------- -
        ----- -
            ------- ----------
            --------- ----------------
            ---------- ------
            ---------- -----
        --
        ------- -
            ------- ---------
            --------- ----------------
        --
        ----------- -
            ------- ---------
            --------- ---------------
        --
        -------- -
            ------- ---------
            --------- --------
            --------- ----------------
        --
        -------- -
            ------- ---------
            --------- -------------------
        --
        ------------ -
            ------- --------
            -------- -
                ------- ---------
                ------------- -
                    ------- -
                        ------- ---------
                        ------- ----------- ------------
                        ---------- ----------
                        --------- - ------ -------------------------------------- ------------- -
                    --
                    ---------- -
                        ------- -----------------
                        ----------- ---------- -------- ---- ------ ----- ---- -- -- -------------
                    -
                -
            -
        -
    --
    ----------------------- -----
-
address.json
-- -------------------- ---- -------
-
  ------- ---------
  ------------- -
    --------- -
      ------- ---------
      --------- --------------------
    --
    --------- -
      ------- ---------
      --------- -----------------------
    -
  -
-
index.js
-- -------------------- ---- -------
----- ----- - -----------------

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

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

            --- ---- - ---

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

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

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

        ---
    -

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

在 Node-Red 中,可以使用 fake-data-generator 节点生成虚假数据。

结论

node-red-contrib-separate-flow-json 这个 npm 包可以有效地提高 Node-Red 流程的可读性和可维护性,尤其在流程比较复杂且需要对多个 JSON 文件进行引用时,更是有着不可替代的作用。希望本文对你有所帮助。

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

纠错
反馈