J'essaie d'utiliser ExpressJs dans mon application.
Après l'avoir installé en utilisant typings install express --ambient --save
, je lance tsc
, mais j'obtiens deux erreurs:
tapings/main/ambient/express/index.d.ts (17,34): erreur TS2307: impossible trouve le module 'serve-static' . typings/main/ambient/express/index.d.ts (18,27): erreur TS2307: impossible trouvez le module 'express-serve-static-core'.
J'ai donc essayé d'installer les deux:
typings install serve-static --ambient --save
typings install express-serve-static --ambient --save
et puis je lance à nouveau tsc, mais je reçois une autre erreur:
typings/main/ambient/serve-static/index.d.ts (79,24): erreur TS2307: Impossible de trouver le module 'mime'.
Comment puis-je résoudre ces problèmes? Comment puis-je installer automatiquement toutes les dépendances d’express?
Avec TypeScript 2.0 ( https://blogs.msdn.Microsoft.com/TypeScript/2016/09/22/announcing-TypeScript-2-0/ ), il est maintenant différent:
Si vous installez TypeScript avec la commande suivante:
npm install -g [email protected]
Vous devrez installer des typages express avec commande
npm install --save @ types/express
Plutôt que de taper des textes en train d’être installés avec ambient/global comme dans les versions précédentes. Les types sont installés dans le répertoire node_modules/@types/express
Votre package.json aura le fragment suivant après avoir fait npm install
de types
:
"dependencies": {
"@types/express": "^4.0.33"
}
{
"globalDependencies": {
"express": "registry:dt/express#4.0.0+20160708185218",
"express-serve-static-core": "registry:dt/express-serve-static-core#4.0.0+20160715232503",
"mime": "registry:dt/mime#0.0.0+20160316155526",
"node": "registry:dt/node#6.0.0+20160621231320",
"serve-static": "registry:dt/serve-static#0.0.0+20160606155157"
}
}
Ceci est mon travail Typings.json
Je viens de le rencontrer moi-même et je crois qu’il s’agit d’un duplicata de:
Importation de noeud et express avec des typages dans TypeScript
J'ai installé serve-static et express-serve-static, puis j'ai reçu des erreurs indiquant qu'il me manquait 'mime' et 'http'.
J'ai dû installer des typages de nœuds pour résoudre la référence manquante http et des typages mime pour résoudre la référence manquante mime.
typings install mime --ambient --save
typings install node --ambient --save
La commande qui a fonctionné pour moi (le jour où j'ai posté) était: typings install dt~express --global --save
(Ambient remplacé par global)
Pour trouver un autre module lié, vous pouvez utiliser la commande typings search express
(elle vous donnera également les informations sur la source)
J'ai moi-même rencontré ce problème et découvert que vous deviez également avoir le module nodeJS actuel installé ainsi que son typage .
Ainsi, lorsque vous avez correctement configuré TypeScript et votre projet, vous devez installer à la fois la dépendance nodeJS ainsi que la dépendance @types.
npm install express --save
npm install --save @types/express