我正在阅读KCL(AWS的Kinesis客户端库)的文档,如果我正确理解它,我需要安装KCL本身(Java),然后安装我的NodeJS消费者应用程序将能够访问它。首先,这是正确的吗?
如果是这样,我对NodeJS和KCL之间的联系感到困惑。我在AWS示例代码中看到了这一行:
var kcl = require('../../..');
(见样本here)
在NodeJS中,我常常看到以这种方式引用的JS文件,而不是目录。这似乎只是遍历文件系统3级别并停止。这是什么参考?这是与KCL的联系吗?我是否只需要确保我的KCL安装位于适合此require
语句的相对路径上?
答案 0 :(得分:1)
我需要安装KCL本身(Java),然后安装我的NodeJS使用者 应用程序将能够访问它。首先,这是正确的吗?
是的,这是正确的。
如果您安装 nodejs 的KCL并完全在 nodejs 中编写您的消费者应用程序,则由于MultiLangDaemon,您仍需要在系统上安装Java。请参阅文档here。
我对NodeJS和KCL之间的联系感到困惑。
当require
被赋予文件夹的路径时,它会在其中查找index.js
。如果有,它将使用它,如果没有,它将失败。
在您的示例中,kcl
变量需要根目录中的index.js。
我是否只需要确保我的KCL安装位于a 容纳此require语句的相对路径?
不,在现实世界的应用程序中,您require
此模块通常会像var kcl = require('aws-kcl')
那样gradlew assembleRelease
,这是package.json