【问题标题】:How do you include a custom npm package to Google Dialogflow?如何将自定义 npm 包包含到 Google Dialogflow?
【发布时间】:2020-02-20 07:24:15
【问题描述】:

我一直在尝试将包“alphanum-increment”添加到我对 Google Dialogflow 的实现中。我在依赖项下找到了一些将其包含在 package.json 中的指针,但找不到包含它的确切方法。

提前感谢您的解决方案

【问题讨论】:

    标签: node.js google-cloud-functions dialogflow-es package.json dialogflow-es-fulfillment


    【解决方案1】:

    答案很简单,因为您说过要将它包含在您的 package.json 中。您必须包含 npm 包的名称。

     {
        "some": "crazyPropsFoo",
        "engines": {},
        "scripts": {},
        "dependencies": {
          "actions-on-google": "^1.5.x",
          "firebase-admin": "~4.1.2",
          "firebase-functions": "~0.5",
          "alphanum-increment": "0.0.2",   // Here you include yours
          }
        }
    

    那么你只需要在你的'index.js'文件中需要这个包:

    var PackageObj = require("alphanum-increment").PackageObject;
    var yourVar = new PackageObj();
    

    【讨论】:

    • 遇到错误详细的堆栈跟踪:TypeError:PackageObj 不是构造函数。从上面提到的相应文件中复制粘贴。
    • 因为 PackageObj 可能不是函数内部的构造函数,这使得它未定义。您应该先声明它,以便将其包含在内。
    • 感谢您的帮助。这里有点菜鸟。是否应该将 PackageObj 作为依赖项包含在内?或者是某种直接包含
    • 嘿,这里指定的错误与编程有关。在这里您可以找到一些很好的文档:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 关于此,您应该尝试四处寻找 javascript 文档以了解基础知识。
    【解决方案2】:

    所以,我只需指明我将在包中使用的功能即可完成这项工作。

    const {increment} = require("alphanum-increment");
    
    

    而任何你喜欢使用该功能的地方,你都可以直接包含它

    var orgStr = "N0001";
    var updStr = increment(orgStr);//updStr = N0002
    

    同样可以通过 -

    const alphanumOp = require(alphanum-increment);
    //In your function
    var updStr = alphanumOp.increment(orgStr);
    

    【讨论】:

      猜你喜欢
      • 2017-02-03
      • 1970-01-01
      • 2019-10-15
      • 2023-04-07
      • 2016-06-16
      • 1970-01-01
      • 2018-04-24
      • 2023-04-07
      • 1970-01-01
      相关资源
      最近更新 更多