Как использовать JSDoc с деструктурированным импортом? - PullRequest
0 голосов
/ 03 февраля 2019

Я использую VSCode в качестве редактора NodeJS и расширение Preview JSDOC.

Интересно, как я могу использовать JSDoc с реструктурированным импортом.Смотрите пример ниже.

Я создал модуль, Module A:

/**
 * Some function description
 * @return a string + 1234
 */
const myFuncA = (someParams) => {
  return `${someParams} 1234` // or whatever
};

/**
 * This is a string.
 */
const myPropB = "A string";

// ...

module.exports = {
  myFuncA, 
  myPropB
}

В модуле B я хотел бы использовать некоторые свойства или функции из модуля A: Module B:

const { myFuncA } = require('../moduleA');

const propA = myFuncA(4321);

Однако при наведении курсора на myFuncA (или при наборе myFuncA(...) описание не отображается.

Я новичок в JSDoc, однако их документы не охватывают мой конкретный случай.

1 Ответ

0 голосов
/ 16 августа 2019

Я тоже искал ответ на этот вопрос, и я думаю, что для этого решения лучше всего использовать синтаксис @memberof module:<your-module-name>.

Так что в модуле B вверху вы бы добавили что-то вроде этого

/** module MyModuleName */

const { myFuncA } = require('../moduleA');

Затем в модуле A вы добавите декоратор @memberof module:<module-name>.

/**
 * Some function description
 * @return a string + 1234
 * @memberof module:MyModuleName
 */
const myFuncA = (someParams) => {
  return `${someParams} 1234` // or whatever
};

Дополнительная информация. Когда я искал решение этой проблемы, у меня было предположение, чтоJSDoc разрешит импорт.JSDoc не разрешает импорт, что имеет большой смысл.Если вы хотите, чтобы функция принадлежала другому модулю, вы должны сообщить об этом JSDocs.Благодарю эту ветку выпуска github , которая помогла мне остановиться на этом ответе.

...