J'utilise l'excellente bibliothèque Cleave.js dans mon application Typescript. Cleave.js est utilisé comme suit:Définition des types: Créer une instance du module
import * as Cleave from 'cleave.js';
new Cleave(element).[whatever]
Pour l'aide au développement, je développe typages pour Cleave.js, cependant, je ne peux pas trouver un modèle dactylographiée qui me permet de préciser la construction ci-dessus.
Lorsque j'utilise export class Cleave { ...} export default Cleave;
Dans le cas ci-dessus Tapuscrit se plaint:
TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
Quand j'importer Cleave comme import Cleave from 'cleave.js'
tapuscrit tente de trouver le champ default
sur l'objet importé qui évidemment n'existe pas.
Comment écrire des typings pour des modules nouveaux?
Vous ne pouvez pas importer de classe en utilisant '* as'. Voir https://stackoverflow.com/a/39415662/1704166 –