我正在创建一个角度为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'
答案 0 :(得分:1)
我正在做同样的事情,link中提供了一个前端JS客户端库。我要做的就是使用npm安装它,然后将其导入我的Ionic项目中,但是维护很少,因此老实说,我建议使用更新的HttpClient library或其他良好的REST库并进行REST调用使用v2参考文档。
Google在他们的http protobuf中描述了他们如何将REST调用映射到其gRPC协议,他们将其称为“转码”。
我知道,这是比使用客户端库更困难的方法,但是老实说,这比使用具有最少支持的库(至少在维护更好的客户端库之前)更值得。