Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让WebStorm解析功能模块?_Javascript_Node.js_Webstorm_Jsdoc_Commonjs - Fatal编程技术网

Javascript 如何让WebStorm解析功能模块?

Javascript 如何让WebStorm解析功能模块?,javascript,node.js,webstorm,jsdoc,commonjs,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; /

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
当另一个文件中需要这样的模块时,在和机制中正确提供这样的功能

// 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

这在我们的项目中非常常见,更改所有
模块。将
导出到普通对象不是一个选项。有没有办法在WebStorm中解决此问题?

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


如何使用它?请提供完整的样本我在样本中增加了几行,但是我实际使用模块的方式与问题无关-主要的一点是,例如,按下Ctrl+Q应该显示模块的内联文档,无论使用何种方式定义它,我同意Paul S,他如何使用它与问题无关。我也有这个问题,保罗,你有进一步的了解吗?不幸的是没有。然而,我的观点是,尽管上述内容在技术上是正确的,但在架构上是有缺陷的。模块的拆分过于细粒度,但不管粒度如何,最好还是坚持使用方法返回普通对象的约定(即使它只是一个方法)。