0

我正在阅读 KCL(AWS 的 Kinesis 客户端库)的文档,如果我理解正确,我需要安装 KCL 本身(Java),然后我的 NodeJS 消费者应用程序才能访问它。首先,这是正确的吗?

如果是这样,我对 NodeJS 和 KCL 之间的联系感到困惑。我在 AWS 示例代码中看到以下行:

var kcl = require('../../..');

(在此处的示例中找到)

在 NodeJS 中,我习惯于看到以这种方式引用的 JS 文件,而不是目录。这似乎只是向上遍历文件系统 3 级并停止。这是什么参考?这是与KCL的联系吗?我是否只需要确保我的 KCL 安装位于可以容纳此require语句的相对路径中?

4

1 回答 1

1

我需要安装 KCL 本身 (Java),然后我的 NodeJS 消费者应用程序将能够访问它。首先,这是正确的吗?

对,那是正确的。
如果您为 nodejs 安装 KCL并完全在nodejs中编写您的消费者应用程序,您仍然需要在系统上安装 Java,因为 MultiLangDaemon。请参阅此处的文档。

我对 NodeJS 和 KCL 之间的联系感到困惑。

require给出一个文件夹的路径时,它会在其中寻找一个index.js。如果有,它将使用它,如果没有,它将失败。

在您的示例中,该kcl变量需要根目录中的index.js

我是否只需要确保我的 KCL 安装位于可以容纳此 require 语句的相对路径中?

不,在现实世界的应用程序中,你会require经常像这样使用这个模块,这是package.jsonvar kcl = require('aws-kcl')中赋予它的名称

于 2017-07-13T15:28:40.503 回答