我想知道如何正确使用JSDoc在WebStorm 11,以纪念类和类型的Node.js应用程式,以获取代码完成等WebStorm JSDoc类声明的代码完成与Node.js的模块
例如:
文件答:
function A(){
this.b = true;
}
A.prototype.doSth = function doSth() {
return !this.b;
}
module.export = new A();
文件B:
var foo = bar(); // returns type of A
现在我倒是升ike要为“foo”完成代码完成,所以它建议foo.b,foo.doSth,...
我尝试了很多像@class,@constructor这样的JSDoc条目,并使用@type {A}以便将foo定义的类型一样
/* @type {A} */
var foo = bar();
但WebStorm不识别的类型A.它没有代码完成,也按Ctrl +点击括号中的A型说“找不到声明去”。
任何想法如何正确地做到这一点?
交换您需要使用@module标签并使用module:namepath引用您的模块。请参阅http://usejsdoc.org/howto-commonjs-modules.html – lena
谢谢@lena!这让我更接近,但还是不完全,我想,也许我误解的东西: 使用 '/ ** * 测试@module /数据/ A */ module.exports =新的A();' 它没有按预期工作。但是,当我添加 '@alias模块:test/data/A.doSth' 在添加到A原型的每个单个函数之前,它的工作是完成代码。但我想避免这种情况。有没有办法让它自动检测? – Ralf
也看到这个相关的问题,但对于ES6类:https://stackoverflow.com/q/46504694 –