【问题标题】:What is the proper 'require' for KCL in a NodeJS consumer application?NodeJS 消费者应用程序中 KCL 的正确“要求”是什么?
【发布时间】:2017-07-12 01:05:34
【问题描述】:

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

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

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

(在样本 here 中找到)

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

【问题讨论】:

    标签: node.js amazon-web-services amazon-kinesis amazon-kcl


    【解决方案1】:

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

    是的,没错。
    如果您为 nodejs 安装 KCL 并完全在 nodejs 中编写您的消费者应用程序,由于 MultiLangDaemon,您仍然需要在系统上安装 Java。请参阅文档here

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      相关资源
      最近更新 更多