内容

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 托管GitHub Pages

查看包文档

#

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

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

查看核心库文档

#

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

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

分支生成的文档
稳定版api.dart.dev/stable
测试版api.dart.dev/beta
开发版api.dart.dev/dev
主分支api.dart.dev/main

故障排除

#

要识别和解决使用 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. 更新生成的页面以使用字体的本地版本。