Node-red物联网教程9:Node-red配置项详解

1.简介

在运行一个Node-red应用时,通过settings.js这个文件加载配置项;

具体这个文件在哪,可以查阅官网,传送门->https://nodered.org/docs/user-guide/runtime/settings-file;

如果基于Node-red进行二次开发,将Node-red集成到其他应用中,可以通过RED.init()来进行配置,但很多配置项将失效,请注意下文中仅单机有效的部分.

2. 运行配置项

2.1 flow file

存储flow的文件,默认为 flows_<hostname>.json

2.2 userDir

存储用户数据的路径,例如flow, 凭证文件 和库文件.

默认路径为$HOME/.node-red

2.3 nodesDir

搜索其他已安装节点的路径。Node-RED通常在userDir路径下搜索节点,此属性允许搜索其他路径,以便可以将节点安装在Node-RED安装目录之外。

默认路径:$HOME/.node-red/nodes

2.4 uiHost (仅单机有效)

监听连接的接口。

默认为:0.0.0.0

2.5 uiPort(仅单机有效)

用于提供编辑器UI的端口。

默认值:1880

2.6 httpAdminRoot

编辑器UI的根URL。

如果设置为false,则禁用所有管理端点。这包括API端点和编辑器UI。

如果仅禁用编辑器UI,请参见disableEditor下面的属性。

默认为:/

2.7 httpAdminAuth (仅单机使用)

不推荐使用:请参见adminAuth

在编辑器UI上启用HTTP基本身份验证:

httpAdminAuth: {user:"nol", pass:"5f4dcc3b5aa765d61d8327deb882cf99"}

pass是真实密码经过MD5 哈希加密后的值,如下命令用于生成哈希加密的数值:

node -e "console.log(require('crypto').createHash('md5').update('YOUR PASSWORD HERE','utf8').digest('hex'))"

2.8 httpNodeRoot

提供HTTP端点的根URL.

如果被设定为 false, 则禁用所有基于节点的HTTP端点 .

默认为:/

2.9 httpNodeAuth

启用HTTP基本身份验证。请参阅httpAdminAuth格式。

2.10 httpRoot

这将为admin和node端点设置根URL。它重写的httpAdminRoothttpNodeRoot的设定值。

2.11 https (仅单机使用)

使能https

2.12 disableEditor

如果设置为true, 则阻止editor UI 运行,而admin api保持激活状态。

默认值:false

2.13 httpStatic (仅单机使用)

保存本地静态文件的路径.

2.14 httpStaticAuth

静态内容启用基本HTTP认证, 参考 httpAdminAuth格式.

2.15 httpNodeCors

使HTTP端点允许跨域

2.16 httpNodeMiddleware

为所有节点的http服务提供中间件,中间件的格式如下:

httpNodeMiddleware: function(req,res,next) {
    // Perform any processing on the request.
    // Be sure to call next() if the request should be passed
    // to the relevant HTTP In node.
}

2.17 logging

  • fatal -仅记录那些使应用程序无法使用的错误

  • error -记录对特定请求致命的错误+致命错误

  • warn -记录非致命+错误+致命错误的问题

  • info-记录有关应用程序常规运行的信息+警告+错误+致命错误

  • debug -记录比info + info + warn + error +致命错误更详细的信息

  • trace -记录非常详细的日志记录+调试+信息+警告+错误+致命错误

默认级别为info。对于闪存容量有限的嵌入式设备,您可能希望将其设置fatal为最大程度地减少对“磁盘”的写入。

3. Editor配置项

3.1 adminAuth

在editor和admin API 中定义用户安全级别.

参考: Securing Node-RED

3.2 paletteCategories

定义不同类别的排列顺序

默认为如下顺序:

['subflows', 'common', 'function', 'network', 'sequence', 'parser', 'storage'],

4.Editor 主题

editor主题能通过如下设置变更,所有项都是可以配置的

editorTheme: {
    page: {
        title: "Node-RED",
        favicon: "/absolute/path/to/theme/icon",
        css: "/absolute/path/to/custom/css/file",
        scripts: [ "/absolute/path/to/custom/script/file", "/another/script/file"]
    },
    header: {
        title: "Node-RED",
        image: "/absolute/path/to/header/image", // or null to remove image
        url: "http://nodered.org" // optional url to make the header text/image a link to this url
    },
    deployButton: {
        type:"simple",
        label:"Save",
        icon: "/absolute/path/to/deploy/button/image" // or null to remove image
    },
    menu: { // Hide unwanted menu items by id. see packages/node_modules/@node-red/editor-client/src/js/red.js:loadEditor for complete list
        "menu-item-import-library": false,
        "menu-item-export-library": false,
        "menu-item-keyboard-shortcuts": false,
        "menu-item-help": {
            label: "Alternative Help Link Text",
            url: "http://example.com"
        }
    },
    userMenu: false, // Hide the user-menu even if adminAuth is enabled
    login: {
        image: "/absolute/path/to/login/page/big/image" // a 256x256 image
    },
    logout: {
        redirect: "http://example.com"
    },
    palette: {
        editable: true, // Enable/disable the Palette Manager
        catalogues: [   // Alternative palette manager catalogues
            'https://catalogue.nodered.org/catalogue.json'
        ],
        theme: [ // Override node colours - rules test against category/type by RegExp.
            { category: ".*", type: ".*", color: "#f0f" }
        ]
    },
    projects: {
        enabled: false // Enable the projects feature
    }
},

5.Dashboard

可以指定Node-RED-Dashboard附加节点的主路径。这是相对于已经定义的httpNodeRoot

ui:{path:“ mydashboard”},

5.Node Configuration

任何节点类型都可定义它自己的settings。

5.1 functionGlobalContext

function nodes – 附加到全局功能上下文的对象集合,例如:

functionGlobalContext: { osModule:require('os') }

可以在功能节点中按以下方式访问:

var myos = global.get('osModule');

5.2 debugMaxLength

debug nodes – 发送到侧边栏调试窗口的最大消息长度

默认值:1000

5.3 mqttReconnectTime

MQTT Nodes -如果短连,等待多少毫秒后尝试重连

Default: 5000

5.4 serialReconnectTime

Serial Nodes – 重启开始一个串口要等待多少毫秒.

Default: 5000

5.5 socketReconnectTime

TCP Nodes – 等待多少毫秒后重连.

Default: 10000

5.6 socketTimeout

TCP Nodes – 等待多少毫秒后,认为一个socket连接超时.

Default: 120000

学习更多知识,加QQ群:1098090823
威武网 » Node-red物联网教程9:Node-red配置项详解

提供最优质的资源集合

立即查看 了解详情