React.js : comment résoudre l'erreur Could not find a declaration file for module 'react-materialize' ?
Le framework ReactJS développé par Facebook propose un ensemble d'outils complet pour élaborer tout le front-end de son site internet. Il existe tout un écosystème autour de ce framework populaire, avec notamment des extensions. L'extension "react-materialize" permet d'intégrer le Material Design dans votre site internet. Si lors de la construction du projet, vous obtenez le message d'erreur "Could not find a declaration file for module 'react-materialize'", vous devez effectuer des manipulations pour résoudre le problème.
Il est possible de résoudre le message d'erreur en installant les types du module dans votre serveur Node.js. On fait appel pour cela à NPM, le gestionnaire de paquets de Node.js. Utilisez la commande suivante pour installer les types dans votre serveur :
npm install --save @types/react-materialize
Si cela ne fonctionne pas, il existe une solution manuelle pour résoudre le problème. Dans le fichier de configuration "tsconfig.json", ajoutez dans la directive "typeRoots" un chemin vers un nouveau dossier que vous allez créer. Nommez-le "@types".
"typeRoots": [ "../node_modules/@types", "../@types" ]
Créez ensuite à la racine du projet le dossier "@types". Dans ce dossier, créez un fichier nommé "alltypes.d.ts". Vous pouvez dans ce fichier écrire vos déclarations de types manquantes, donc celle du module "react-materialize".
declare module 'react-materialize'; declare module 'react-router'; declare module 'flux';
Il est également possible d'indiquer au serveur d'ignorer la vérification des types. Le message d'erreur ne s'affichera plus sur votre écran. Pour effectuer cette manipulation, ajoutez dans le fichier "tsconfig.json" la directive "noImplicitAny" avec la valeur false.
"noImplicitAny": false