web-dev-qa-db-fra.com

node-express app.get () marqué comme non résolu dans webstorm

Si vous suivez les instructions de JetBrains Mise en route avec Node.js dans WebStorm , le code spécifique au nœud express est correctement mis en surbrillance. Cependant, si vous créez votre propre projet node-express simple, par ex. using node-express ' Guide , puis exprimer des fonctions spécifiques telles que app.get() sont soulignées et marquées de l'avertissement suivant:

Unresolved function or method get()

Cela se produit même si vous activez les bibliothèques suivantes sous Settings\JavaScript\Libraries:

  • Node.js Globals
  • Node.js v0.10.31 Core Modules
  • express-DefinitelyTyped (que vous devez télécharger)

Comment puis-je configurer WebStorm pour résoudre les fonctions express de nœud telles que app.get()?

35
Jonathan

Au lieu d'exprimer définitivement définitivement, utilisez des types express dans votre projet:

npm install --save-dev @types/express

Alternativement, pour les utilisateurs de fils:

yarn add --dev @types/express
74
Jorge Gil

This a très bien fonctionné pour moi.

TL; DR: vous allez à Settings/Preferences -> Languages and Frameworks -> JavaScript -> Libraries, cliquez sur le bouton Download à droite, puis sélectionnez "express" (ou toute autre bibliothèque dont vous avez besoin) et cliquez sur Download and Install.

52
e-shfiyut

L'activation de la bibliothèque TypeScript express-DefinitelyTyped pour le projet Express fonctionne pour moi - app.get() est correctement résolu. L'ajout de stubs TypeScript est la seule solution possible, car WebStorm ne peut pas comprendre la façon dont express est défini - voir https://youtrack.jetbrains.com/issue/WEB-6667#comment=27-47039

Si l'ajout de stubs TypeScript ne fonctionne pas pour vous, essayez d'invalider les caches. Si cela ne vous aide pas, je vous suggère de contacter le support Jetbrains, en fournissant un exemple de projet

1
lena