WebStorm/PhpStorm/IDEAには、JavaScript用のコードインテリジェンス機能が多数組み込まれています。ただし、Node.jsアプリケーションを開発する場合、node_modules
からすべてを含めると、「ファイルに移動」などの問題が複雑になります(たとえば、IDEがpackage.json
フォルダーから数十のnode_modules
sを提供することを望まない)。しかし、node_modules
フォルダーを除外すると完全に独自の問題-コードの補完などはありません。
では、WebStormでこれにアプローチする「正しい」方法は何でしょうか。 node_modules
のファイルの一部のみを含める必要がありますか?または、そこからすべてを除外し、どういうわけかプロジェクトまたはグローバルライブラリの概念を使用しますか?
ありがとう。
これはWebStorm7で修正されています。 http://youtrack.jetbrains.com/issue/WEB-1927 を参照してください。
UIでこれを行うには(PyCharm 2.7.3からテスト、結果はPhpStorm 6.0.3に表示されます):
JavaScriptライブラリを追加
ファイル→設定
(プロジェクト設定)→JavaScript→ライブラリ
[追加...]→
名前:node_modules
Visiblilty:[x]現在のプロジェクト
[添付...]
{プロジェクトのnode_modulesフォルダーを選択}
{bower}の繰り返し
プロジェクトからフォルダを除外
(プロジェクト設定)→プロジェクト構造
フォルダを右クリック→[除外]
プロジェクトの.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でテスト済み。
Node.js統合用のプラグインをダウンロードできます: http://plugins.intellij.net/plugin/?webide&pluginId=6098
残念ながら、簡単な「正しい」方法はありません。トップレベルのnode_modulesディレクトリ内にあるすべてのnode_modulesディレクトリを除外できます。それは完成をより良くしますが、理想的ではありません。
詳細については、こちらをご覧ください: http://devnet.jetbrains.net/message/5468926 。