我是noflo的新手并且正在查看示例以便进行探索。 spreadsheet示例看起来很有趣,但我无法让它运行。首先,需要一些时间和手动调试来识别丢失的组件,这不是什么大不了的事情,我相信将来会有所改进,因为现在我得到的错误消息是
return process.component.outPorts[port].attach(socket);
^
TypeError: undefined is not a function
显然,在此之前,isAddressable()也是未定义的。检查了这个SO issue,但我没有任何noflo 0.4作为依赖。花了一些时间来调试它,但似乎坚持下去,决定发布到SO。
问题是,运行电子表格示例的正确步骤是什么?
对于复制,这是我所做的:
0)安装以下组件
noflo-adapters
noflo-core
noflo-couchdb
noflo-filesystem
noflo-groups
noflo-objects
noflo-packets
noflo-strings
noflo-tika
noflo-xml
i)编辑spreadsheet / parse.fbp,因为第一个错误是
throw new Error("No outport '" + port + "' defined in process " + proc
^
Error: No outport 'error' defined in process Read (Read() ERROR -> IN Display())
显然couchdb ReadDocument组件不提供Error outport。因此用ReadFile替换了ReadDocument。
18c18
< 'tika-app-0.9.jar' -> TIKA Read(ReadDocument)
---
> 'tika-app-0.9.jar' -> TIKA Read(ReadFile)
ii)此时,收到以下内容:
if (process.component.outPorts[port].isAddressable()) {
^
TypeError: undefined is not a function
通过检查是否在此代码位置定义了isAddressable来即兴创作特技:
@@ -259,9 +261,11 @@
throw new Error("No outport '" + port + "' defined in process " + process.id + " (" + (socket.getId()) + ")");
return;
}
- if (process.component.outPorts[port].isAddressable()) {
+ if (process.component.outPorts[port].isAddressable && process.component.outPorts[port].isAddressable()) {
return process.component.outPorts[port].attach(socket, index);
}
return process.component.outPorts[port].attach(socket);
};
并且两种方式都失败了。同样,问题是运行电子表格示例的正确步骤是什么?
提前致谢。