本部分介绍了向用户显示网址时使用的语法。
网址格式
组件网址原则上可以采用任何架构。您可能会遇到的一些常见骗术包括:
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)
组件网址用于将网页标识为组件。例如,此类组件可以作为网页在 Web runner 中执行。
示例:
https://en.wikipedia.org/wiki/Hippos
相对网址
组件框架支持部分相对网址(相对网址在 网址 RFC 3986 中定义)。具体而言,组件框架支持指向分包组件的相对路径网址(以及包含组件清单路径的网址片段),以及仅包含片段的网址。
组件清单的路径是相对组件网址片段 (#meta/<component>.cm
) 中允许的唯一内容。如果该片段包含任何其他内容,或者相对组件包含网址查询参数 (?key=value
),系统将无法解析该组件。
指向分包组件的相对路径网址
系统会在运行时根据已知的“上下文”解析相对路径网址。对于通过相对网址解析子组件的组件,上下文是与父组件关联的解析器提供的值。网址 path
会被解读为父级组件软件包的某个子软件包的名称。
相对子软件包路径网址以相对软件包网址开头,格式如下:
<subpackage-path>#<path-to-manifest>
示例:
child#meta/default.cm
如需详细了解子软件包和子软件包组件,请参阅 Fuchsia 子软件包文档。
仅包含片段的相对网址
仅在运行时,系统会根据父组件软件包的网址解析仅限片段的相对网址。仅包含片段的网址采用以下格式:
#<path-to-manifest>
示例:
#meta/child.cm
对于网址为以下的 fuchsia-pkg
父级组件:
fuchsia-pkg://fuchsia.com/package#meta/component.cm
相对网址会解析为:
fuchsia-pkg://fuchsia.com/package#meta/child.cm