目录

dart doc

dart doc 命令为 Dart 源代码生成 HTML 参考文档。

编写文档

#

要向生成的文档添加参考文本和示例,请使用带有 Markdown 格式的文档注释。有关编写文档注释的指导,请查看Effective Dart:文档指南。

生成 API 文档

#

要为您的包生成文档,请从包的根目录运行 dart doc .。例如,为 my_package 包生成 API 文档可能类似于以下内容

$ cd my_package
$ dart pub get
$ dart doc .
Documenting my_package...
...
Success! Docs generated into /Users/me/projects/my_package/doc/api

默认情况下,dart doc 将生成的文档和支持文件放在 doc/api 目录中。要更改输出目录,请使用 --output 标志指定路径

$ dart doc --output=api_docs .

如果您的包设置或文档注释有任何问题,dart doc 会将其作为错误或警告输出。如果您只是想测试问题而不保存生成的文档,请添加 --dry-run 标志

$ dart doc --dry-run .

配置生成

#

要配置 dart doc 如何生成文档,请在包的根目录中创建一个名为 dartdoc_options.yaml 的文件。

要了解有关文件格式和支持的配置选项的更多信息,请查看 dart.dev/go/dartdoc-options-file

查看生成的文档

#

您可以通过多种方式查看使用 dart doc 生成的文档。

查看本地文档

#

要查看使用 dart doc 生成或从在线下载的 API 文档,您必须使用 HTTP 服务器加载它们。

要提供文件,请使用任何 HTTP 服务器。考虑使用 pub.dev 中的 package:dhttpd

要使用 package:dhttpd,请全局激活它,然后运行它并指定生成的文档的路径。以下命令激活包,然后运行它以提供位于 doc/api 的 API 文档

$ dart pub global activate dhttpd
$ dart pub global run dhttpd --path doc/api

然后,要在浏览器中读取生成的文档,请打开 dhttpd 输出的链接,通常是 https://127.0.0.1:8080

查看托管文档

#

您还可以使用任何支持静态 Web 内容的托管服务在线托管生成的 API 文档。两个常见的选项是 Firebase hostingGitHub pages

查看包文档

#

pub.dev 站点会为上传的包的公共库生成并托管文档。

要查看包的生成文档,请导航到其页面并打开页面右侧信息框中的 API 参考 链接。例如,您可以在 pub.dev/documentation/http 找到 package:http 的 API 文档。

查看核心库文档

#

dart doc 也用于为 Dart 核心库生成 API 参考文档。

要查看 Dart SDK 参考文档,请访问与您正在开发的 Dart 发布通道相对应的 api.dart.dev 链接

故障排除

#

要识别和解决使用 dart doc 生成的文档的常见问题,请参考以下参考部分。

#

如果生成的文档的搜索栏不起作用或包含类似于“无法初始化搜索”的文本,则可能存在以下情况之一

  1. 您正在从自己的文件系统访问文档,但它们没有被 HTTP 服务器提供和加载。要了解如何提供本地 API 文档,请查看如何本地查看生成的文档
  2. dart doc 生成的 index.json 文件缺失或无法从文档目录或您托管的 Web 服务器访问。尝试重新生成文档并验证您的托管配置。

侧边栏加载失败

#

如果生成的文档的侧边栏丢失或包含类似于“无法加载侧边栏”的文本,则可能存在以下情况之一

  1. 您正在从自己的文件系统访问文档,但文档没有被 HTTP 服务器提供和加载。要了解如何提供本地 API 文档,请查看如何查看本地文档
  2. 已配置生成的文档的 base-href 行为。此配置选项已弃用,不应再使用。尝试删除该选项并使用 dart doc 的默认行为。如果默认行为破坏了生成的文档中的链接,请提交问题

缺少 API 文档

#

如果您找不到或无法访问您希望拥有文档的 API 的生成文档,则可能存在以下情况之一

  1. 该包没有将您要查找的 API 公开为公共 API。dart doc 仅为公共库和为其他包导入和使用的成员生成文档。要了解有关配置包的公共库的更多信息,请查看有关 公共库 的包布局指南。
  2. 您尝试访问的 URL 的大小写不正确。默认情况下,dart doc 生成的文件名区分大小写,与其对应的源声明匹配,并具有 .html 扩展名。尝试验证 URL 是否符合这些预期。

图标显示为文本

#

如果您看到的是文本而不是诸如菜单和主题按钮之类的图标,则您的浏览器可能无法加载 Material Symbols 字体。解决此问题的一些选项包括

  1. 尝试使用允许访问 Google Fonts 服务器的代理。
  2. 更新生成的页面以使用字体的本地版本。