mcpField
S
skyline-config

skyline-config

github.com/wechat-miniprogram开发55982 次安装21 周前更新
代码仓库

关于 skyline-config

skyline-config 是面向微信小程序开发者的 Skyline JSON 配置参考技能,覆盖全局、页面和开发者工具配置,并提供混合渲染及迁移时的配置指引。

主要功能

  1. 01说明全局、页面与工具配置层级
  2. 02列出 Skyline 必需配置项
  3. 03指导混合渲染与页面级覆盖
  4. 04提供 rendererOptions 兼容建议
  5. 05整理配置文档索引

适用场景

  1. 01创建 Skyline 小程序项目
  2. 02将 WebView 页面迁移至 Skyline
  3. 03配置 Skyline 与 WebView 混合渲染
  4. 04排查 Skyline 配置导致的编译错误

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wechat-miniprogram/skyline-skills --skill skyline-config

安装后在 Claude Code 中输入/skyline-config确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
app-config.md
page-config.md
patterns.md
project-config.md

详细介绍

来自项目 README

Skyline JSON 配置规范

适用场景

  • 创建新的 Skyline 小程序项目
  • 从 WebView 迁移到 Skyline 渲染引擎
  • 配置混合渲染(部分页面 Skyline、部分 WebView)
  • 配置 rendererOptions 优化样式兼容性
  • 排查 Skyline 配置相关的编译错误

核心概念

三级配置层次
层级文件作用关键配置
全局app.json全局启用 Skylinerenderer, 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(必须遵守)
  1. app.json 必须包含三项必需配置:

    // ❌ 错误:缺少 componentFramework 和 lazyCodeLoading
    {
      "pages": ["pages/index/index"],
      "renderer": "skyline"
    }
    
    // ✅ 正确:三项缺一不可
    {
      "renderer": "skyline",
      "componentFramework": "glass-easel",
      "lazyCodeLoading": "requiredComponents"
    }
    
  2. 每个页面的 json 必须配置 "navigationStyle": "custom":

    // ❌ 错误:缺少 navigationStyle,编译报错
    // getAppConfig error: the "navigationStyle" configuration
    // for the page should be set to "custom"
    {
      "usingComponents": {}
    }
    
    // ✅ 正确
    {
      "navigationStyle": "custom"
    }
    

    Skyline 不支持原生导航栏,必须使用自定义导航栏。

  3. 使用 scroll-view 替代页面级滚动时配置 "disableScroll": true:

    // ❌ 错误:未禁用页面滚动,可能与 scroll-view 冲突
    {
      "navigationStyle": "custom"
    }
    
    // ✅ 正确:禁用页面滚动,使用 scroll-view 管理滚动
    {
      "navigationStyle": "custom",
      "disableScroll": true
    }
    
  4. 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(禁止行为)
  1. NEVER 遗漏任何页面的 navigationStyle: "custom" 配置——即使页面不需要导航栏,Skyline 下也必须声明
  2. NEVER 在 Skyline 页面中依赖页面级全局滚动——Skyline 不支持页面级滚动,必须使用 scroll-view 组件

Quick Reference

必需配置速查
配置项位置值级别
rendererapp.json"skyline"必需
componentFrameworkapp.json"glass-easel"必需
lazyCodeLoadingapp.json"requiredComponents"必需
navigationStyle页面 json"custom"必需
disableScroll页面 jsontrue推荐
rendererOptions 配置速查
配置项类型默认值推荐值说明
defaultDisplayBlockbooleanfalsetrue默认 display:block(对齐 WebView)
defaultContentBoxbooleanfalsetrue默认 box-sizing:content-box(对齐 WebView)
tagNameStyleIsolationstring"isolated""legacy"标签选择器全局匹配(对齐 WebView)
enableScrollViewAutoSizebooleanfalsetruescroll-view 自动撑开高度
disableABTestbooleanfalsetrue关闭 Skyline AB 实验,确保稳定性
场景决策表
场景推荐配置
新建 Skyline 项目三项必需 + rendererOptions 全部推荐值
WebView 迁移三项必需 + rendererOptions 兼容配置 + disableABTest
混合渲染app.json 不设 renderer,页面级单独设 "renderer": "skyline"
仅部分页面用 Skyline页面 json 中设 "renderer": "skyline" 覆盖全局

相关技能

场景推荐技能说明
WXSS 样式兼容skyline-wxssrendererOptions 影响的默认值详解(display/flex-direction/align-items/box-sizing)
glass-easel 框架skyline-glass-easelcomponentFramework 详细迁移指南
Skyline 概览与迁移skyline-overview渲染引擎概览、迁移步骤
组件使用skyline-componentsscroll-view 等组件配置
路由配置skyline-route自定义路由与页面转场

References 目录结构

references/
├── app-config.md
├── page-config.md
├── patterns.md
└── project-config.md

评论

支持 Markdown