@ types / dialogflow软件包说“ dialogflow提供了自己的类型定义”,但似乎没有

时间:2019-12-17 02:31:26

标签: typescript npm dialogflow

我使用的dialogflow npm软件包不同于actions-on-googlegoogleapis软件包。

dialogflow 软件包没有自己的类型定义。因此,我一直一起使用@types/dialogflow软件包。

最近,类型定义程序包(@ types / dialogflow)从v0.11.0更新到了v4.0.4,这是现在的最新版本,并且该程序包说

  

这是存根类型定义。 dialogflow提供了自己的类型   定义,因此您不需要安装此程序。

但是dialogflow npm软件包似乎没有提供类型定义。 TS编译器一直在说

  

找不到模块“ dialogflow”的声明文件。 '.... js'   隐式地具有“ any”类型。如果有,请尝试npm install @types/dialogflow   它存在或添加包含declare module 'dialogflow'; ts(7016)

的新声明(.d.ts)文件

此类型定义包有什么问题?

2 个答案:

答案 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');

如果您有任何问题,请告诉我

干杯。