javascript - 如何让 WebStorm 解析功能模块?

标签 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 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 中有什么方法可以解决这个问题吗?

最佳答案

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

<iframe width="854" height="480" src="https://www.youtube.com/embed/J3YX1WIScAk" frameborder="0" allowfullscreen></iframe>

引用资料

关于javascript - 如何让 WebStorm 解析功能模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30576454/

相关文章:

javascript - 从特定数组元素发送请求后,如何将文本 "Send Request"更改为 Pending?

javascript - MVC 表单 Javascript Post 在 Controller 内为空

javascript - 为什么回调函数中的react state(array)为空?为什么它不使用外部范围的更新值?

node.js - 在默认模式下使用自定义函数?

node.js - Node : How to wait for server start at http://localhost:8000

typescript 无法将定义文件添加到 webstorm

node.js - 以编程方式控制 Jetbrains 内置服务器

javascript .replace 宽度标签

javascript - 如何获取 Node.js 目录中存在的所有文件的名称列表?

intellij-idea - WebStorm:在 ES6 基类中标记要重写的方法