问题
If you follow JetBrains' Getting Started with Node.js in WebStorm instructions, node-express specific code is highlighted correctly. However if you create your own simple node-express project, e.g. using node-express' Guide, then express specific functions such as app.get()
are underlined and marked with the following warning:
Unresolved function or method get()
This happens even if you enable the following libraries under Settings\JavaScript\Libraries
:
- Node.js Globals
- Node.js v0.10.31 Core Modules
- express-DefinitelyTyped (which you need to download)
How can I configure WebStorm to resolve node-express functions such as app.get()
?
回答1:
Instead of express definitelyTyped, use express types in your project:
npm install --save-dev @types/express
Alternatively, for yarn users:
yarn add --dev @types/express
回答2:
This worked great for me.
TL;DR:
you go to Settings/Preferences
--> Languages and Frameworks
--> JavaScript
--> Libraries
, click the Download
button on the right, then select "express" (or any other library you need) and click Download and Install
.
回答3:
Enabling express-DefinitelyTyped typescript library for Express project does work for me - app.get()
is successfully resolved. Adding typescript stubs is the only possible workaround, as WebStorm can't understand the way express is defined - see https://youtrack.jetbrains.com/issue/WEB-6667#comment=27-470393
If adding typescript stubs doesn't work for you, please try invalidating caches. If this doesn't help, I'd suggest contacting jetbrains support, providing a sample project
来源:https://stackoverflow.com/questions/26116124/node-express-app-get-marked-as-unresolved-in-webstorm