如何在打字稿中使用dialogflow sdk?

时间:2018-10-12 08:04:15

标签: typescript dialogflow typescript-typings

我正在创建一个角度为6的chatbot应用程序,并且我想使用dialogflow sdk。因为sdk仅用于javascript,所以我还添加了dialogflow的类型。

package.json:

dependencies: {
    [...]
    "@types/dialogflow": "0.6.3",
    "dialogflow": "0.6.0
}

我尝试了许多不同的进口方式:

import { SessionsClient } from 'dialogflow';
import { SessionsClient, v2 } from 'dialogflow';
import * as dialogflow from 'dialogflow';
import 'dialogflow'

但是我总是收到错误消息

  

MODULE_NOT_FOUND

当我尝试使用它时

this.dialogflowSessionsClient = new SessionsClient();
this.dialogflowSessionsClient = new v2.SessionsClient();
this.dialogflowSessionsClient = new dialogflow.SessionsClient();

IDE可以解析引用。那么,我在做什么错了?

更新

我也在一个新的角度项目中尝试了它,现在我得到了更好的错误消息。不幸的是,它也无济于事。

  

./ node_modules / dialogflow / src / v2 / agents_client.js

     

未找到模块:错误:无法解析'/ Users / [my-project-path] / node_modules / dialogflow / src / v2'中的'./agents_client_config'

1 个答案:

答案 0 :(得分:1)

我正在做同样的事情,link中提供了一个前端JS客户端库。我要做的就是使用npm安装它,然后将其导入我的Ionic项目中,但是维护很少,因此老实说,我建议使用更新的HttpClient library或其他良好的REST库并进行REST调用使用v2参考文档。

Google在他们的http protobuf中描述了他们如何将REST调用映射到其gRPC协议,他们将其称为“转码”。

我知道,这是比使用客户端库更困难的方法,但是老实说,这比使用具有最少支持的库(至少在维护更好的客户端库之前)更值得。