2013-01-14 31 views
15

ほぼすべてのサードパーティのモジュールWebStormのオートコンプリートはメソッド/フィールドを解決できません。オートコンプリートの下では、インテリセンスのような機能もすべて意味します。たとえば :私は回避策を見つけた私自身のモジュールの場合WebStormのオートコンプリートをサードパーティのモジュールメソッドを解決できるようにするための回避策が必要

TypeError: Cannot call method 'series' of undefined 

var async = require('async'); 
async.series() //WebStorm's tooltip says: Unresolved function or method series() 

それは

async.exports.series(). 

を解決します。しかし、これはエラーを実行時につながると同時に。私がモジュールでしている場合:012Mを使用すると、someMethodのオートコンプリートはうまく動作します。

上記のすべてについて、私にはたくさんの質問があります。
1.なぜideがasync.series()を解決できないのですか?
2.なぜasync.exports.series()が実行時エラーにつながるのですか?
3.オートコンプリートを行うには?

WebStorm 5.0.4。

答えて

12

を使用して、新しい次のように設定する

var async = new require('async'); 
+4

ありがとうございます... 1.私はWebStormをどのように癒しているか理解したいと思います。 2.通常のnode.jsの使用に悪影響を及ぼす可能性がある場合。 –

18

ゴー - > JavaScriptを - >ライブラリ - > "のNode.jsグローバル" を確認

+0

これは、感謝しました! – cambecc

+3

この設定が選択されていますが、まだ問題が発生しています。それ以上の手がかりは? –

+0

これは正解でなければなりません。私の問題を解決しました。 –

2

新WebStorm v7の人気のために活字体コミュニティスタブを定義する能力を持っていますモジュール。これは、自動補完とIDE警告の問題を部分的に解決します。私はこの醜いチートを使用することを好むあまり人気のモジュールの場合

//noinspection ConstantConditionalExpressionJS,JSPotentiallyInvalidConstructorUsage 
var async = false ? new require('async') : require('async'); 

プロパティが(ファイルシステムを反復など)いくつかのアルゴリズムによってモジュールに接続されたときしかし、これは、問題を解決していません。小型で人気のないモジュールの場合はまれです。

ところで、asyncにはすでに[email protected]のtypescriptスタブがあります:borisyankov/DefinitelyTyped.git repository。

+0

奇妙ですが、 'var connect = require( 'connect')のようなもの|| '';'私のためにも働きます。 – Resure

関連する問題