Pau*_* S. 9 javascript commonjs node.js jsdoc webstorm
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
Run Code Online (Sandbox Code Playgroud)
然后,当在另一个文件中需要这样的模块时,在代码完成和内联文档机制中正确地提供这样的功能.
// main.js
var isValid = require('./utils/isValid').isValid; // works well
Run Code Online (Sandbox Code Playgroud)
但是,当函数作为模块导出直接返回时,这会失败
// utils/valid.js
module.exports = isValid; // exports object is a function
Run Code Online (Sandbox Code Playgroud)
因此,当需要这样的模块时,WebStorm似乎不知道它是什么:
// main.js
var isValid = require('./utils/isValid'); // doesn't work
Run Code Online (Sandbox Code Playgroud)
这在我们的项目中非常常见,并且不能将所有内容更改module.exports为普通对象.有没有办法在WebStorm中解决这个问题?
创建一个宏来在两种语义形式之间切换:
<iframe width="854" height="480" src="https://www.youtube.com/embed/J3YX1WIScAk" frameborder="0" allowfullscreen></iframe>Run Code Online (Sandbox Code Playgroud)
参考
| 归档时间: |
|
| 查看次数: |
619 次 |
| 最近记录: |