【问题标题】:Node-Red access to zlib对 zlib 的 Node-Red 访问
【发布时间】:2015-11-02 23:09:56
【问题描述】:

如何压缩 msg.payload 以输入 HTTP 响应节点?我怀疑这归结为能够解决 zlib,但因为我不能使用类似的东西

var zlib = require("zlib")

我无法访问它。基本上我的问题可能归结为如何使 zlib 可用于功能节点。

【问题讨论】:

    标签: gzip zlib http-compression node-red


    【解决方案1】:

    要将节点模块添加到函数节点,您需要将它们包含在 settings.js 文件中,如编写函数文档末尾附近的here 中所述:

    在 settings.js 中找到 functionGlobalContext 部分(通常在 ~/.node-red 中找到)并编辑如下:

    functionGlobalContext: { zlib:require('zlib') }
    

    然后您将在函数节点中访问它,如下所示:

    context.global.zlib
    

    您还需要确保 zlib 节点是使用 npm 安装的,很可能在 ~/.node-red 目录中

    npm install zlib
    

    【讨论】:

    • 现在好像不需要安装zlib了,it's included in Node.js。因此,在更改 settings.js 之后,以下在 Node-RED 功能节点中可以正常工作:context.global.zlib.gunzip(msg.payload, function(err, buffer){ if (!err) { node.send( { payload: buffer.toString() }); } else { /* handle error */ } }); return;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    相关资源
    最近更新 更多