组件网址

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

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

网址格式

原则上,组件网址可以采用任何架构。部分 您可能会遇到的常见架构是:

紫红色 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-pkg 解析器之前启动 可用。其格式如下:

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

示例:

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

HTTP

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

示例:

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

相对网址

组件框架支持一部分相对网址(相对网址是 (如 网址 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