Jsモジュールにtypedefタイプがあると仮定します
// somewhere/foo.js
/**
* @module
*/
/**
* @typedef Foo
* @type {object}
* property {string} bar - some property
*/
このタイプを別のモジュールで参照して、jsdocによって生成されたHTMLページで、タイプがtypedef-edモジュールへのリンクとして表示されるようにすることは可能ですか?
これのバリエーションを試しましたが、何も機能しないようです...
// somewhere_else/bar.js
/**
* @module
*/
/**
* @param {somewhere/foo/Foo} foo - some param
*/
export default function doStuff(foo) {
...
}
これは私のために働きます...
// somewhere/foo.js
/**
* @module foo
*/
/**
* @typedef module:foo.Foo
* @type {object}
* @property {string} bar - some property
*/
そして.。
// somewhere_else/bar.js
/// <reference path="foo.js" />
/**
* @module bar
*/
/**
* @param {module:foo.Foo} foo - some param
*/
function doStuff(foo) {
//...
};
上記の回答は検索結果の上位に表示されるため、同様の状況で誰かを助ける場合に備えて、何がうまくいったかを文書化しています。
すべてのモジュールで_// @ts-check
_を使用するノードプロジェクトにVisualStudioコードを使用しています。上記の構文を使用すると、_module:
_構文に問題が発生します。また、コードアシスタンスが正しく機能しません。しばらく時間がかかりましたが、答えは非常に単純でした。
モジュールmyTypedef
にtypedefmyModule
がある場合、myModule
が必要な2番目のモジュールにあります。mm = require(myModule)
次のようなものを使用できます
_/** @param {mm.myTypedef} myParamName */
_