我使用的dialogflow npm软件包不同于actions-on-google或googleapis软件包。
dialogflow 软件包没有自己的类型定义。因此,我一直一起使用@types/dialogflow软件包。
最近,类型定义程序包(@ types / dialogflow)从v0.11.0更新到了v4.0.4,这是现在的最新版本,并且该程序包说
这是存根类型定义。 dialogflow提供了自己的类型 定义,因此您不需要安装此程序。
但是dialogflow npm软件包似乎没有提供类型定义。 TS编译器一直在说
找不到模块“ dialogflow”的声明文件。 '.... js' 隐式地具有“ any”类型。如果有,请尝试
的新声明(.d.ts)文件npm install @types/dialogflow
它存在或添加包含declare module 'dialogflow';
ts(7016)
此类型定义包有什么问题?
答案 0 :(得分:1)
据我所知,dialogflow尚未发布其类型。这样做没有问题,它们甚至没有在跟踪Google API类型定义的this ticket上列出。 (引用自here)
This PR(已弃用@types/dialogflow
)未添加任何相关链接以表明它们是本机包含的。
同时,我会在您的json包中添加@types/dialogflow
的固定版本
npm install @ types / dialogflow @ 0.11.0
该版本似乎是弃用之前的最后一个版本
更新
另一种选择according to this PR是尝试以这种方式导入
import * as dialogflow from "dialogflow/protos/protos"
并验证dialogflow
上的类型-也许您可能需要做一些返工
答案 1 :(得分:0)
不确定,但这会有所帮助,但是如果我使用的是没有类型定义的包,我总是使用es5导入语法
const dialogflow = require('dialogflow');
如果您有任何问题,请告诉我
干杯。