typescript - o pacote @types/dialogflow diz "dialogflow fornece suas próprias definições de tipo", mas parece que não
Estou usando o pacote dialogflow do npm, que é diferente do pacote actions-on-google ou googleapis.
O pacote dialogflow não tinha suas próprias definições de tipo. Portanto, eu estive usando o pacote @types/dialogflow junto.
Recentemente, o pacote de definição de tipos (@types/dialogflow) foi atualizado da versão v0.11.0 para v4.0.4, que é a versão mais recente agora, e o pacote diz que
Esta é uma definição de tipos stub. O dialogflow fornece suas próprias definições de tipos, então você não precisa instalar isso.
Mas o pacote npm do dialogflow não parece fornecer definições de tipo. O compilador TS continua dizendo
Não foi possível encontrar um arquivo de declaração para o módulo 'dialogflow'. '....js' possui implicitamente um tipo 'any'. Tente
npm install @types/dialogflowse ele existir ou adicione um novo arquivo de declaração (.d.ts) contendodeclare module 'dialogflow';ts(7016)
O que há de errado com este pacote de definição de tipo?
Resposta #1
Pelo que eu posso ver, o Dialogflow ainda não publicou seus tipos. Não há problema quanto a isso, eles nem estão listados neste ticket que acompanha as definições de tipo das APIs do Google. (referenciado daqui)
Este PR que descontinuou @types/dialogflow não adicionou nenhum link relevante para mostrar que eles foram incluídos nativamente.
Eu adicionaria a versão corrigida de @types/dialogflow no seu package.json enquanto isso
npm install @types/[email
Essa versão parece ser a última antes da descontinuação
Atualização
Outra opção de acordo com este PR é tentar importar desta maneira
import * as dialogflow from "dialogflow/protos/protos"
e verifique os tipos em dialogflow - talvez você precise fazer algum retrabalho
Resposta #2
Não tenho certeza, mas isso pode ajudar, mas se eu estiver usando um pacote que não tem definição de tipo, eu sempre uso a sintaxe de importação ES5 assim
const dialogflow = require('dialogflow');
Me avise se você tiver algum problema
Saúde.
