是否可以在前端(Angular)中使用dialogflow-nodejs-client-v2?

时间:2018-06-16 19:08:15

标签: dialogflow

我很久以前使用Firebase和dialogflow-javascript-client构建了一个应用程序。

现在,不推荐使用dialogflow-javascript-client。由于dialogflow-nodejs-client-v2是node.js客户端,因此不应该在Angular上运行。他们放弃了javascript支持吗?我无法从开发者那里得到任何答案,他们似乎只是避免它。

如果不可能,我唯一的解决方案是在我的应用程序中放弃对Dialogflow的支持。

从Javascript迁移的用户绝对没有文档或信息,这是他们唯一给你的东西:

enter image description here

当然,无论如何我试图运行它,认为它也是为了在javascript上运行而构建的......

但这是我得到的:

  

警告   ./node_modules/google-gax/node_modules/grpc/node_modules/node-pre-gyp/lib/util/versioning.js   17:20-67关键依赖:依赖的请求是一个   表达

     

警告   ./node_modules/google-gax/node_modules/grpc/node_modules/node-pre-gyp/lib/pre-binding.js   20:22-48关键依赖:依赖的请求是一个   表达

     

警告   ./node_modules/google-gax/node_modules/grpc/src/grpc_extension.js   32:12-33关键依赖:依赖的请求是一个   表达

     

警告   ./node_modules/google-gax/node_modules/grpc/node_modules/minimatch/minimatch.js   找不到模块:错误:无法解析'path'   'd:\纳克\ WW-应用\ node_modules \ Google处理GAX \ node_modules \ GRPC \ node_modules \ minimatch'

     

警告在./node_modules/minimatch/minimatch.js中找不到模块:   错误:无法解析'D:\ ng \ ww-app \ node_modules \ minimatch'中的'path'

      ./node_modules/dialogflow/src/v2/agents_client.js中的错误模块没有   发现:错误:无法解析'./agents_client_config'   'd:\纳克\ WW-应用\ node_modules \ dialogflow \ SRC \ V2'

     

....(以下更多)

3 个答案:

答案 0 :(得分:3)

dialogflow-nodejs-client-v2仅支持node.js环境。要将您的代理更新为V2,您应该创建一个Cloud Function for Firebase并将请求发送到dialogflow-nodejs-client-v2,然后从Angular代码中调用该Cloud Function,而不是直接调用API。

此方法的主要优点是:您将不再在客户端公开API凭据,这是安全隐患。

答案 1 :(得分:0)

我使用Node.js读了一次tutorial,也许你可以将你的数据从angular迁移到Node.js,就像之前得到的question一样。

答案 2 :(得分:0)

我找到了另一个解决方案: 我已经创建了一个javascript客户端...并且我从nodejs api getToken终结点过期时(即每小时)获取令牌...我已将getToken终结点限制在同一域中。