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 completion和inline 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中解决这个问题?
答案 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
<强>参考强>