skyline-config
Skyline JSON 配置规范
适用场景
- 创建新的 Skyline 小程序项目
- 从 WebView 迁移到 Skyline 渲染引擎
- 配置混合渲染(部分页面 Skyline、部分 WebView)
- 配置 rendererOptions 优化样式兼容性
- 排查 Skyline 配置相关的编译错误
核心概念
三级配置层次
| 层级 | 文件 | 作用 | 关键配置 |
|---|---|---|---|
| 全局 | app.json |
全局启用 Skyline | renderer, componentFramework, rendererOptions |
| 页面 | 页面.json |
页面级配置/覆盖 | navigationStyle, disableScroll, renderer |
| 工具 | project.config.json |
开发者工具调试 | setting.skylineRenderEnable |
最小必需配置
// app.json
{
"renderer": "skyline",
"componentFramework": "glass-easel",
"lazyCodeLoading": "requiredComponents"
}
// 每个页面的 .json
{
"navigationStyle": "custom"
}
文档索引
根据需求快速定位(路径相对于 references/):
| 我想要... | 查阅文档 |
|---|---|
| 了解 app.json 中所有 Skyline 相关配置 | app-config.md |
| 了解页面级配置和混合渲染 | page-config.md |
| 配置开发者工具 | project-config.md |
| 查看完整配置模板 | patterns.md |
强制规则
MUST(必须遵守)
-
app.json 必须包含三项必需配置:
// ❌ 错误:缺少 componentFramework 和 lazyCodeLoading { "pages": ["pages/index/index"], "renderer": "skyline" } // ✅ 正确:三项缺一不可 { "renderer": "skyline", "componentFramework": "glass-easel", "lazyCodeLoading": "requiredComponents" } -
每个页面的 json 必须配置
"navigationStyle": "custom":// ❌ 错误:缺少 navigationStyle,编译报错 // getAppConfig error: the "navigationStyle" configuration // for the page should be set to "custom" { "usingComponents": {} } // ✅ 正确 { "navigationStyle": "custom" }Skyline 不支持原生导航栏,必须使用自定义导航栏。
-
使用 scroll-view 替代页面级滚动时配置
"disableScroll": true:// ❌ 错误:未禁用页面滚动,可能与 scroll-view 冲突 { "navigationStyle": "custom" } // ✅ 正确:禁用页面滚动,使用 scroll-view 管理滚动 { "navigationStyle": "custom", "disableScroll": true } -
rendererOptions 应配置 defaultDisplayBlock 和 defaultContentBox 以对齐 WebView 行为:
// ❌ 错误:未配置 rendererOptions,Skyline 默认 display:flex + border-box { "renderer": "skyline" } // ✅ 正确:对齐 WebView 的 block + content-box 默认行为 { "renderer": "skyline", "rendererOptions": { "skyline": { "defaultDisplayBlock": true, "defaultContentBox": true } } }
NEVER(禁止行为)
- NEVER 遗漏任何页面的
navigationStyle: "custom"配置——即使页面不需要导航栏,Skyline 下也必须声明 - NEVER 在 Skyline 页面中依赖页面级全局滚动——Skyline 不支持页面级滚动,必须使用
scroll-view组件
Quick Reference
必需配置速查
| 配置项 | 位置 | 值 | 级别 |
|---|---|---|---|
renderer |
app.json | "skyline" |
必需 |
componentFramework |
app.json | "glass-easel" |
必需 |
lazyCodeLoading |
app.json | "requiredComponents" |
必需 |
navigationStyle |
页面 json | "custom" |
必需 |
disableScroll |
页面 json | true |
推荐 |
rendererOptions 配置速查
| 配置项 | 类型 | 默认值 | 推荐值 | 说明 |
|---|---|---|---|---|
defaultDisplayBlock |
boolean | false | true | 默认 display:block(对齐 WebView) |
defaultContentBox |
boolean | false | true | 默认 box-sizing:content-box(对齐 WebView) |
tagNameStyleIsolation |
string | "isolated" | "legacy" | 标签选择器全局匹配(对齐 WebView) |
enableScrollViewAutoSize |
boolean | false | true | scroll-view 自动撑开高度 |
disableABTest |
boolean | false | true | 关闭 Skyline AB 实验,确保稳定性 |
场景决策表
| 场景 | 推荐配置 |
|---|---|
| 新建 Skyline 项目 | 三项必需 + rendererOptions 全部推荐值 |
| WebView 迁移 | 三项必需 + rendererOptions 兼容配置 + disableABTest |
| 混合渲染 | app.json 不设 renderer,页面级单独设 "renderer": "skyline" |
| 仅部分页面用 Skyline | 页面 json 中设 "renderer": "skyline" 覆盖全局 |
相关技能
| 场景 | 推荐技能 | 说明 |
|---|---|---|
| WXSS 样式兼容 | skyline-wxss |
rendererOptions 影响的默认值详解(display/flex-direction/align-items/box-sizing) |
| glass-easel 框架 | skyline-glass-easel |
componentFramework 详细迁移指南 |
| Skyline 概览与迁移 | skyline-overview |
渲染引擎概览、迁移步骤 |
| 组件使用 | skyline-components |
scroll-view 等组件配置 |
| 路由配置 | skyline-route |
自定义路由与页面转场 |
References 目录结构
references/
├── app-config.md
├── page-config.md
├── patterns.md
└── project-config.md
More from wechat-miniprogram/skyline-skills
skyline-worklet
Skyline Worklet 动画系统技能。使用 worklet 函数、共享变量(SharedValue)、动画类型(timing/spring/decay)、Easing 缓动函数、组合动画和线程通信(runOnUI/runOnJS)开发高性能交互动画时使用此技能。适用于拖拽、手势跟随、弹簧回弹等需要 UI 线程直接响应的动画场景。触发关键词:worklet、worklet 动画、SharedValue、共享变量、timing、spring、decay、Easing、runOnUI、runOnJS、applyAnimatedStyle、交互动画、手势动画、UI 线程动画。
213skyline-route
Skyline 自定义路由与页面转场技能。涵盖自定义路由动画(routeBuilder)、预设路由(7 种 wx:// 类型)、页面返回手势、容器转场动画(open-container)、Router API。适用于实现半屏弹窗、页面缩放、底部弹出、卡片展开等转场效果。触发关键词:自定义路由、custom-route、routeBuilder、navigateTo、页面转场、半屏、预设路由、返回手势、open-container。
198skyline-components
Skyline 组件开发技能。涵盖 scroll-view 及其增强模式(列表/嵌套滚动)、swiper 高级特性、表单组件、图片/文本组件、半屏可拖拽组件、共享元素动画等。适用于需要开发滚动列表、轮播、表单输入、页面过渡动画等场景。
191skyline-overview
Skyline 渲染引擎概览与迁移技能。了解 Skyline 架构、性能优势、功能特性、迁移指南和最佳实践时使用此技能。适用于初次接触 Skyline、评估迁移成本、或需要了解整体框架的场景。
183skyline-scroll-api
Skyline 滚动控制 API 技能。涵盖 ScrollViewContext(程序化下拉刷新、下拉二级、滚动定位)、DraggableSheetContext(半屏面板程序化滚动)、worklet.scrollViewContext(UI 线程直接控制滚动)。适用于程序化触发刷新/二级、控制 DraggableSheet 位置、在 worklet 中操作滚动。触发关键词:ScrollViewContext、DraggableSheetContext、scrollTo、triggerRefresh、triggerTwoLevel、下拉刷新API、下拉二级API、滚动API、worklet scrollViewContext。
181skyline-wxss
Skyline WXSS 样式支持技能。提供 Skyline 支持的 CSS 属性、值和限制信息。触发关键词:WXSS、CSS 支持、样式兼容性、属性支持、不支持的属性、display grid、position sticky、overflow、filter、渐变、gradient、linear-gradient、radial-gradient、conic-gradient、border-style、white-space、font-weight、text-decoration、text-overflow、aspect-ratio、will-change、calc、env、mask、mask-image、background-image、transition、animation、transform、font-feature-settings。
179