组件网址

组件网址 是标识组件的网址。

本部分介绍了向用户显示网址时使用的语法。

网址格式

组件网址原则上可以采用任何架构。您可能会遇到的一些常见骗术包括:

fuchsia-pkg

fuchsia-pkg 组件网址是一种软件包网址,用于定位分发在 Fuchsia 软件包中的组件。

其格式与软件包网址相同,不过 资源路径(相对于该资源包根目录) 找到一个组件清单。此路径的格式通常为 meta/<manifest_name>.cm

fuchsia-pkg://<repo-hostname>[/<pkg-name>[/<pkg-variant>][?hash=<pkg-hash>][#<path-to-manifest>]]

示例:

fuchsia-pkg://fuchsia.com/stash#meta/stash_secure.cm

fuchsia-boot

fuchsia-boot 组件网址用于在系统启动映像中定位组件。此架构用于确定在 fuchsia-pkg 解析器可用之前必须在早期启动期间解析的组件。其格式如下:

fuchsia-boot:///<path-to-manifest-in-bootfs>

示例:

fuchsia-boot:///#meta/driver_manager.cm

http(s)

http(s) 组件网址用于将网页标识为组件。这种 组件可作为网页在网页运行程序中执行,以便 示例。

示例:

https://en.wikipedia.org/wiki/Hippos

相对网址

组件框架支持部分相对网址(相对网址在 URL RFC 3986 中定义)。具体而言,组件框架支持指向分包组件的相对路径网址(以及包含组件清单路径的网址片段),以及仅包含片段的网址。

指向组件清单的路径是相对路径中允许的唯一内容 组件网址片段 (#meta/<component>.cm)。如果 fragment 包含 或者相关部分包含网址查询参数 (?key=value),则组件无法解析。

子打包组件的相对路径网址

系统会在运行时根据已知的“上下文”解析相对路径网址。对于 组件通过相对网址解析子组件时,上下文是 与父组件关联的解析器提供的值。网址 path 为 解释为声明的 子软件包

相对子软件包路径网址以相对软件包网址开头,格式如下:

<subpackage-path>#<path-to-manifest>

示例:

child#meta/default.cm

如需详细了解子软件包和子软件包组件,请参阅 Fuchsia 子软件包文档。

仅含片段的相对网址

仅在运行时,系统会根据 父组件的 package。仅限片段的网址具有以下特征 格式:

#<path-to-manifest>

示例:

#meta/child.cm

对于网址为以下的 fuchsia-pkg 父级组件:

fuchsia-pkg://fuchsia.com/package#meta/component.cm

相对网址将解析为:

fuchsia-pkg://fuchsia.com/package#meta/child.cm