[英]JSDOC: How to document a function within of simple object
我需要記錄一個簡單的 object 並且我找不到如何記錄內部方法的@param
和@returns
的文檔或教程。 如果我將它們放在相應的方法( xyz
)之上,它們將被忽略,如果我將它們放在 object 之上,則不會分配@param
(或者我不知道如何在這里分配它)。
假設它是一個簡單的 object,如下所示:
export const foo = {
abc: 'A string',
xyz: (x) => {
return x + '!'
}
}
我希望這樣的事情應該有效:
/**
* @module FooModule
*/
/**
* @type {object}
*/
export const foo = {
/**
* @property {string} abc - some property
*/
abc: 'A string',
/**
* @property {function} xyz - some method
* @param {string} x - source string
* @returns {string} - exclamation mark added
*/
xyz: (x) => {
return x + '!'
}
}
但這顯然不起作用。 我在這里發現了一個類似的問題,但解決方案是錯誤的,它根本不起作用。 這應該如何正確完成,以便我在 output JSDoc 中獲得一個模塊FooModule
,一個具有foo.abc
屬性和foo.xyz
方法(包括@param
和@returns
)的全局常量foo
?
可以做到嗎? 如果是,可以在沒有@typedef
所有函數的情況下完成嗎?
似乎其他問題的最新答案發現了問題。 它不在 JSDoc 語法中,而是在 javascript 本身中。 似乎 JSDoc 的@module
不能與export
指令一起使用。 如果刪除了@module
,文檔將按預期工作。 如果使用@module
,則export
必須替換為
module.exports = foo
在最后。 然后 JSDoc 構建工作正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.