如何使WebStorm解析哪些功能?

时间:2015-06-01 14:42:20

标签: javascript node.js webstorm jsdoc commonjs

WebStorm很好地解决了从CommonJS模块作为方法返回的函数(并读取与它们相关的JsDoc),例如:

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

当在另一个文件中需要这样的模块时,code completioninline documentation机制中正确提供了这样的函数。

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

但是,当函数直接作为模块导出

返回时,这会失败
// utils/valid.js
module.exports = isValid; // exports object is a function

因此,当需要这样的模块时,WebStorm似乎不知道它是什么:

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

这在我们的项目中非常常见,并且不能将所有module.exports更改为普通对象。有没有办法在WebStorm中解决这个问题?

1 个答案:

答案 0 :(得分:0)

创建一个宏以在两种语义形式之间切换:

Error   2   Assembly 'Microsoft.Azure.DocumentDB.Core, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35' uses 
'System.Collections.Specialized, Version=4.0.1.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced 
assembly 'System.Collections.Specialized, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a'    c:\Users\Elijah  
Lofgren\Downloads\T1mobio\TodoDocumentDB\packages\Microsoft.Azure.DocumentDB.Cr
e.1.0.0\lib\netstandard1.6\Microsoft.Azure.DocumentDB.Core.dll  
TodoDocumentDB.Droid

<强>参考