Webstorm 7无法识别Node API方法。

30

我刚刚安装了 WebStorm,正在开发一个小型的 Node.js 应用程序。

我已经附上了 Node.js 的源代码,在点击 Node.js 设置时,我可以看到它能够识别我的各种节点模块等等。

我遇到了两个问题:

  1. 未解决的变量或类型:WebStorm 似乎无法识别简单的 API 方法 (exports, require)。
  2. 没有代码提示…:如果我调用 require('winston'),它告诉我没有代码提示。(我能否添加源代码?)

11
你能否检查设置中的JavaScript→库→Node.js*是否全部勾选? - gustavohenke
2
@gustavohenke - 谢谢,这解决了第一个问题。有没有办法让代码洞察力更好? - hba
我在Windows上遇到了同样的问题,但在Webstorm的Linux安装中没有。所有红色下划线看起来非常丑陋。 - Shane
2
@gustavohenke的建议对我有用,谢谢。在最新版本(13.1.5)中,“Node.js vx.xx.xx Core Modules”项已经被选中,但“Node.js Globals”没有被选中。勾选它就解决了问题。 - enobrev
6个回答

59

对于WebStorm 2018及更高版本:

设置 -> 语言和框架 -> Node.js and NPM 中,勾选 Coding assistance for Node.js

WebStorm setting to enable Coding assistance for Node.js

在较旧的WebStorm版本中,这被称为 Enable Node.js Core library

如果即使启用了该选项仍然看到无法识别的Node符号,请取消勾选该选项、重启WebStorm,然后右键单击警告并选择 Enable Node.js coding assistance 或者再次勾选该选项。等待WebStorm显示它正在索引文件。(今天刚遇到这个问题,看起来像是WebStorm的一个bug,我所写的内容解决了这个情况。)


这个问题实际上是关于WebStorm 7的。没有一个答案声称涵盖了这一点,尽管经过一些搜索,我相信被接受的答案(我的答案)也适用于WS7。 - Ted Bigham
@DanDascalescu 这个问题是关于WebStorm 7的。 - Ted Bigham

31

针对WebStorm 7至10版本(在OSX上)…

选择WebStorm → 首选项 → 语言和框架 → JavaScript → 库

选择"Node.js全局变量"和"Node.js vXXX核心模块"。


1
同样适用于WebStorm 10.0.1(在Windows 7上)。谢谢! - Dave Teply
可以用。WebStorm 10.0.3(Mac)。非常感谢。 - HamasN
嗨,Ted,你能看一下我回答下面的评论吗?谢谢。 - Dan Dascalescu
@DanDascalescu,我在找什么? - Ted Bigham
文件 -> 默认设置 -> 语言和框架 -> Node.js 和 npm -> 编码辅助 -> 启用 - Kurkula
对我来说,现在所需的库只是在@TedBigham提到的同一位置上的“node”。 - Tom

0

在使用WebStorm和Node.js时,这两个代码段经常会出现“伪警告”:

伪警告情况1:

  module.exports =  ...

这给了我一个警告 "元素未被导出"。通过将此内容放在 "module.exports = ..." 之上,我能够摆脱由此引起的警告。
 /** @namespace module.exports **/

假阳性警告案例2:

 let something = global.something ;

这给了我警告 "未解决的全局变量或类型"。我能够通过在其上方放置以下内容来消除由此引起的警告:

 /** @namespace global **/

现在我在我的 .js 或 .mjs 文件顶部放置以下内容,以便由 Node.js 执行,并且消除涉及这些变量或属性的警告:
 /** @namespace global         **/
 /** @namespace console        **/
 /** @namespace process        **/
 /** @namespace Buffer         **/

 /** @namespace process.stdin  **/
 /** @namespace module.exports **/

我正在使用 WebStorm 2022.2.3


0

我使用的是WebStorm 2020,我已经启用了所有功能,但WebStill显示module.exports是未知函数。然后我关闭了NodeJS.core库和NodeJS代码协助功能,应用并重新打开它们。突然间它就开始工作了。

enter image description here

enter image description here


0

正如我在WebStorm says console is an unresolved variable问题中所回答的那样,要解决新版Webstorm上的这些问题,您需要启用Node.js编码辅助

为此,请进入设置 > 语言和框架 > Node.js和NPM,然后单击Node.js编码辅助选项,最后单击确定以保存:

enter image description here

这将解决所有未解析的 Node.js 变量和函数。

更新

在新的 Webstorm 版本中,只需将鼠标悬停在错误上并点击 更多操作...(或按下 ALT+ENTER),然后选择启用 Node.js 编码辅助即可解决此问题。

enter image description here


-1

升级到Webstorm 8或更高版本将解决您的require方法问题。如之前发布的那样,通过检查设置> JavaScript>库> Node.js是否全部选中,可以解决您的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接