跳到主要内容

ARC 2.0.0-beta.28

Web surface

在 Blocklet 内用 AUP 表达界面语义、用 Web Device 渲染 Web 内容/站点——外链,不复制 primitive 目录。

Blocklet 可以暴露 Web surface。Surface 仍有自己的契约。选对层再在 package 内组合。

AUP vs Web Device

AUPWeb Device
回答的问题语义 UI(页面、事件、primitive)是什么?Web 站点/内容树如何渲染?
典型路径.aup/app.aup.aup/pages/.aup/man/pages/**/layout.aup.web/、SEO 原子、.route/web
编写板AUPWeb Device
首次练习第一个 AUP 应用构建第一个站点

它们可以共存在同一 package(如 minimal-app:公开 web 页 + AUP app + agent)。共存不等于两块文档相同。

Blocklet 如何拥有 surface

Package 关注点例子
身份 / DIDblocklet.yaml
谁处理 /.route/web vs .route/app vs AUP 默认
域名与 pretty URL 绑定blocklet.yamlsites
页面背后的 instance 数据AFS 路径 + bindings(见 数据与 AFS

没有 Web 路由声明时,直接 Blocklet URL 可能寻找 AUP 入口,而不是静态 Web Device 入口。Web Device 首站指南写明了最小 .route/web + .web/site.yaml + pages/index/layout.aup 集合。

Recipe 与参考形态

起点Surface 侧重
arc blocklet create --recipe basic仅 manifest——自行添加 surface
--recipe minimal-app一页 web、AUP app、agent、settings
Web Device 首站指南basic package 中手建最小静态站
hello-html / hello-declarative(ARC 树)教学样例
did-space(ARC 树)双 surface:营销 web + /explorer AUP

不要在此复制 primitive 目录

需要去向
AUP primitive / 事件 / DSLAUP 板
Web 组件、主题、markdown embedWeb Device 板

本页只记录组合点:路由、recipe、package 布局。primitive/组件/directive 变更时更新所属板,不要在 Blocklets 下分叉一份目录。

Surface 的本地验收

bash
arc dsl validate .
arc blocklet check . --profile <matching-profile>
arc blocklet run .
# 打开打印的 URL——宽屏 + 窄屏

成功的 package 构建不能替代打开渲染后的页面。见 检查、构建与 inspect测试与诊断