我想使用jQuery在Node-RED中执行GET请求:
$.get( "url", { data: "whatever"}).done(function( data){
return data;
});
然而,它在调试器中给出了以下错误:
ReferenceError:$未定义
我已经通过npm安装了jquery。
如何在Node-RED中使用jQuery(和其他外部库)?
感谢我所学到的评论,jQuery不是必需的。因此,我试图使用内置HTTP请求节点。但是,我遇到了转义字符的问题。请求参数应为以下形式:
localhost:port/path?tx="{{payload}}"
我可以成功地获取字符串部分,但是我无法获得封闭的引号,它们会不断转换为请求中的HTML数字。有办法防止这种情况吗?
答案 0 :(得分:2)
可以将库加载到settings.js文件中的functionGlobalContext
,该文件可以在Node-RED userDir中找到。当Node-RED启动时,此目录列在前几行中,但通常位于~/.node-red
详细说明可在Node-RED文档here
中找到但基本上你遵循这种模式:
...
functionGlobalContext: { osModule:require('os') },
...
然后在函数节点中使用以下语法来获取库的句柄:
var myos = global.get('osModule');
虽然说你真的不应该尝试在函数节点中使用jquery库,但是使用内置的HTTP请求节点或本机node.js http函数无法实现这一点。