2015-11-02 56 views
0

如何壓縮msg.payload以饋入HTTP響應節點?我懷疑它歸結爲能夠解決zlib,但因爲我不能使用類似對zlib的節點紅訪問

var zlib = require("zlib") 

我無法訪問它。基本上我的問題可能歸結爲如何使zlib可用於功能節點。

回答

1

要添加節點模塊功能,您需要儘可能接近書寫功能文檔末尾的here描述,包括他們在settings.js文件中的節點:

發現在settings.js的functionGlobalContext部分(通常在〜/ .node紅髮現),並編輯如下:

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

你會然後訪問它在功能節點如下:

context.global.zlib 

您還需要確保zlib的節點使用NPM最有可能在〜/ .node紅色目錄

npm install zlib 
+0

謝謝安裝 - 這工作! –

+0

現在似乎不需要安裝zlib,因爲[它包含在Node.js中](https://nodejs.org/api/zlib.html)。因此,在改變'settings.js'之後,以下在Node-RED函數節點中可以正常工作:'context.global.zlib.gunzip(msg.payload,function(err,buffer)if(!err){ node.send({payload:buffer.toString()}); } else { /* handle error */ } }); return;' – Arjan