25

在 WebStorm / PhpStorm / IDEA 中,内置了相当多的 JavaScript 代码智能功能。但是,在开发 Node.js 应用程序时,包括从node_modules“导航到文件”之类的复杂问题(我不想要例如,IDE 可以package.json从文件夹中为我提供数十个 s node_modules)。但是完全排除node_modules文件夹有其自身的问题——没有代码完成等。

那么在 WebStorm 中处理这个问题的“正确”方法是什么?我应该只包括其中的一些文件node_modules吗?还是从那里排除所有内容并以某种方式使用项目或全局库的概念?

谢谢。

4

4 回答 4

23

要在 UI 中执行此操作(从 PyCharm 2.7.3 测试,结果显示在 PhpStorm 6.0.3 中):

添加 JavaScript 库

添加 JavaScript 库

文件 → 设置
(项目设置) → JavaScript → 库

[添加...] →

名称node_modules
可见性:[x] 当前项目
[附加...]
{选择项目的node_modules文件夹}

{重复凉亭}

从项目中排除文件夹
从项目中排除文件夹

(项目设置)→项目结构
文件夹右键→【排除】

要从项目的 .iml 文件中执行此操作:
将项目更改.iml为以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <excludeFolder url="file://$MODULE_DIR$/bower_components" />
      <excludeFolder url="file://$MODULE_DIR$/node_modules" />
    </content>
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="node_modules" level="application" />
    <orderEntry type="library" name="bower_components" level="application" />
  </component>
</module>

导致编辑器排除 node_modules 和 bower_components,但使它们可用于完成和库搜索

在 PyCharm、IntelliJ 和 WebStorm 中测试。

于 2013-08-01T22:32:14.923 回答
4

这已在 WebStorm 7 中修复,请参阅http://youtrack.jetbrains.com/issue/WEB-1927

于 2013-07-05T21:13:57.493 回答
2

不幸的是,没有简单的“正确”方法。您可以排除位于顶级 node_modules 目录内的所有 node_modules 目录。它将使完成更好,但并不理想。
进一步的讨论在这里:http ://devnet.jetbrains.net/message/5468926 。

于 2012-10-04T13:51:10.520 回答
2

您可以下载用于 Node.js 集成的插件:http ://plugins.intellij.net/plugin/?webide&pluginId=6098

于 2012-11-29T14:17:57.223 回答