2015-06-01 11 views
9

WebStorm macht einen sehr guten Job Funktionen der Lösung, die aus Commonjs Module als Methoden zurückgegeben werden (und liest JsDoc mit ihnen verbunden sind), wie zum Beispiel:Wie macht man WebStorm Module aufzulösen, die Funktionen sind?

// utils/valid.js 
/** 
* Returns true no matter what. 
* @param {HTMLElement} element 
* @return {boolean} 
*/ 
function isValid(element) { 
    return true; 
} 
module.exports.isValid = isValid; // exports property 

Eine solche Funktion korrekt bereitgestellt wird dann in code completion und inline documentation Mechanismen, wenn ein solches Modul in einer anderen Datei benötigt wird.

// main.js 
var isValid = require('./utils/isValid').isValid; // works well 

Dies ist jedoch nicht, wenn die Funktion direkt als Modul exportiert

// utils/valid.js 
module.exports = isValid; // exports object is a function 

So zurückgegeben wird, wenn ein solches Modul erforderlich ist, scheint WebStorm nicht zu wissen, was es ist:

// main.js 
var isValid = require('./utils/isValid'); // doesn't work 

Dies ist sehr häufig in unserem Projekt und das Ändern aller module.exports in einfache Objekte ist keine Option. Gibt es eine Möglichkeit, dieses Problem in WebStorm zu beheben? Erstellen

+0

Wie verwenden Sie es? Bitte geben Sie die vollständige Probe – lena

+1

Ich fügte ein paar Zeilen mehr in die Proben, aber wie ich das Modul tatsächlich verwenden ist nicht auf das Problem bezogen - der wichtigste Punkt ist, dass z. Drücken von Strg + Q sollte Inline-Dokumentation für das Modul anzeigen, unabhängig von der Art und Weise, mit der es definiert wurde https://www.jetbrains.com/webstorm/help/viewing-inline-documentation.html –

+0

Ich stimme Paul S, wie er verwendet es ist nicht mit dem Problem verbunden. Ich habe auch dieses Problem, hast du weiter damit Paul? – Dean

Antwort