VS Code 下的 JSDoc:如何使用其他模块的类型?在下面的例子中,如何声明
foo(ta)
?
ma.js(CommonJS)
class TA {...}
module.exports = { makeTA: () => new TA, };
mb.js(CommonJS)
const ma = require('./ma');
foo(ma.makeTA());
/** @param {???} ta */ // want to use TA from ma
function foo(ta) {...}
您可以使用 import("./ma") 作为类型。但您还必须导出要用作类型的类。
ma.js
class TA { }
module.exports = { makeTA: () => new TA, TA };
mb.js
/** @param {import("./ma").TA} ta */
function foo(ta) {...}
像这样,“ta”将被键入为其他文件中的类的实例。