无法使用OctoPrint事件API中的config.yaml将参数传递给JavaScript文件
我试图将参数传递给一个JavaScript文件,该文件将使用NodeJS执行 JavaScript文件包含以下函数:无法使用OctoPrint事件API中的config.yaml将参数传递给JavaScript文件,javascript,yaml,event-hooking,octoprint,Javascript,Yaml,Event Hooking,Octoprint,我试图将参数传递给一个JavaScript文件,该文件将使用NodeJS执行 JavaScript文件包含以下函数: function handleEvent() { var options = { method: 'POST', url: 'http://'+LOCAL_PC_ADDRESS+'/events/job/started', qs: { filename: 'example/file.gcode',
function handleEvent() {
var options = { method: 'POST',
url: 'http://'+LOCAL_PC_ADDRESS+'/events/job/started',
qs:
{ filename: 'example/file.gcode',
testArguments: process.argv },
headers:
{
'cache-control': 'no-cache' } };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
}
其中一个字段testArguments
用于检查传递到此文件的参数
如果我跑步:
node myscript.js "foo" "bar"
在返回的帖子中,我得到了我所期望的:
{ filename: 'example/file.gcode',
testArguments:
[ '/usr/bin/node',
'/home/pi/prototype-rasp/myfile.js',
'foo',
'bar'
] }
直到现在,一切都很好
问题出现在我使用时,我将事件配置为config.yaml,如文档所示。此处报告了部分config.yaml:
events:
enabled: True
subscriptions:
- event: Connected
command: /usr/bin/node /home/pi/prototype-rasp/myscript.js "foo" "bar"
type: system
enabled: true
我还尝试使用命令:/usr/bin/node/home/pi/prototype-rasp/myscript.js--“bar”“foo”
。我触发了OctoPrint事件,该事件正确地找到了yaml事件挂钩,启动了脚本,但是process.argv
中没有参数,缺少foo和bar
你知道怎么解决吗