如何使用 JSDoc 记录 LWC Salesforce 组件 public 变量?

How to document LWC Salesforce components public variables with JSDoc?

JSDoc 跳过我的 public LWC 变量。 这是一个例子:

    /**
     * SomePublicVarName mode - default is false.
     * 
     * @type {boolean}
     */
    @api 
    somePublicVarName = false;

如果我将其转换为函数或 public getter/setter,那么我可以在输出中看到它。有办法解决吗?我可以更改 JSDoc 解析行为吗?我在文档中读到我可以使用配置文件,但我不知道这是否是一个用例。我还尝试添加 @public JSDoc 属性 跳跃来解决问题,但没有帮助。

我的问题已通过在 class 声明本身之上添加一个 js 文档来解决。在这个 js 文档中,我使用了 @alias.

看到这个post: https://salesforce.stackexchange.com/questions/370416/how-to-document-lwc-salesforce-components-public-variables-with-jsdoc

在LWC中正确使用JSDoc注释

您需要注意正确的 class 文档才能使其正常工作。例如,正确注释的 Hello World LWC 可能如下所示:

import { api, LightningElement } from 'lwc';

/**
 * An example LWC that adds a classic greeting to any page.
 * @alias HelloWorld
 * @extends LightningElement
 * @hideconstructor
 *
 * @example
 * <c-hello-world name="World"></c-hello-world>
 */
export default class HelloWorld extends LightningElement {
  /**
   * Enter the name of the person to greet.
   * @type {string}
   * @default 'World'
   */
  @api name = 'World';
}

生成LWC代码文档

如刚才所示正确注释组件后,您可以使用 jsdoc.app 生成 well-formatted 文档。

为此,您必须首先安装适当的节点包,例如全局如下:

npm install -g jsdoc

此外,jsdoc.config.json 文件必须位于项目的根目录中,它可能如下所示:

{
  "tags": {
    "allowUnknownTags": true,
    "dictionaries": ["jsdoc", "closure"]
  },
  "source": {
    "include": ["force-app/main/default/lwc"],
    "includePattern": ".+\.js(doc|x)?$",
    "excludePattern": "(^|\/|\\)_"
  },
  "plugins": [],
  "templates": {
    "cleverLinks": false,
    "monospaceLinks": false
  },
  "opts": {
    "destination": "docs",
    "recurse": true,
    "readme": "README.md"
  }
}

那么可以生成如下文档:

jsdoc -c jsdoc.config.json

安装指南

我还发布了一份关于如何使用 JSDoc for Lightning Web Components 的指南,其中包含逐步说明和详细说明:

Write and generate LWC code documentation using JSDoc