11

我正在使用 WebStorm 5.0.4 开发 node.js 应用程序。

我使用全局安装了几个节点模块

npm install -g 模块名称
并使用将它们链接到项目中
npm 链接模块名称

自动补全不适用于任何 npm 安装的模块。它仅适用于核心模块(例如httpor path)。

此外,对于我从 npm 安装的模块调用的任何函数,WebStorm 都会给出警告“未解析的函数或方法 xyz”。

如何使 WebStorm 自动完成并通常了解我安装的模块require

4

4 回答 4

18

我不确定这是否说明了您的特殊情况,但是我在 WebStorm 5.0.4 中遇到了类似的问题,而所需的任何内容都不会自动完成。我可以通过进入我的项目设置,导航到 JavaScript | 来解决这个问题。库,检查“Node.js 核心模块”和“Node.js 全局”,然后单击应用。

于 2013-01-13T01:15:15.987 回答
2

我的答案仅适用于 WebStorm 7 及以后的版本:

  1. 打开设置对话框(文件 | 默认设置)并选择 JavaScript | 节点.js。

    1. 指定 Node.js 解释器的路径,Node.js 版本将自动确定。

    2. 单击配置,然后单击“下载和配置”按钮将 Node.js 源下载到 IntelliJ 系统本地文件夹。将从提取的核心模块源文件中创建一个名为“Node.js v. Core Library”的 JavaScript 库。

    3. 最后为刚刚创建的 JavaScript 库定义一个使用范围。默认情况下,整个项目将被添加到使用范围。如果这对您不起作用,您可以通过单击“编辑使用范围”超链接来调整使用范围。

如果您需要更多信息,请阅读 JetBrain 的官方博客关于附加 Node.js 核心模块的源代码,这应该可以理想地解决您的问题,至少它实际上对我有用。

于 2014-04-10T09:06:53.513 回答
2

根据我在评论中发布的链接,您需要使用
Preferences -> Directories添加全局 npm 目录

您可以通过运行以下命令找出您的全局目录在哪里:

> npm ls -g

来源:http: //youtrack.jetbrains.com/issue/WEB-1880

于 2012-12-13T15:01:17.870 回答
0

当您使用逗号声明多个模块时会发生这种情况,例如:

var sys = require("sys"),
    http= require("http");

在上面的示例中,sys 只会将导出作为自动完成选项,而 http 可以正常工作。如果你这样做:

var sys = require("sys");
var http= require("http");

sys 和 http 都可以正常工作。

于 2013-02-06T03:49:44.613 回答