小熙

miniprogram-architect

开发编程v1.0.3
作者:小熙更新于 2026-05-11共 4 个版本 · 最新版本发布于 2026-03-19@clawhub_dreamersetsail/miniprogram-architect
前端开发#微信

据 AlphaMoat 统计,截至 2026-09,miniprogram-architect 累计下载 2,480 次、获 4 个星标,在全部 5,078 个 AI 技能中排名第 4,117 位,在「开发编程」分类(577 个)中排名第 507 位。

累计安装
605
累计下载
2,480
星标
4
全站排名
#4,117
全站前 82% · 「开发编程」前 88%
平台累计安装累计下载星标评论
ClawHub ↗271,0481-
SkillHub ↗6052,4804—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

覆盖项目结构设计、配置与基础文件创建、组件库搭建与命名规范制定,也支持对已有项目做结构重构。对无需主包资源的独立页面可配置为单独打开,以降低主包体积压力;文件与变量命名不允许使用中文。

资料发布于 2026-10-27

可以用来做什么

  • 从零规划一个小程序项目的目录与分包策略。
  • 为团队制定组件库结构与命名规范。

什么时候用

  • 新建小程序项目、需要先定架构时。
  • 老项目结构混乱、要重构时。

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

帮我设计一个小程序项目的目录结构和分包方案。
给这个项目的组件库定一套命名规范。

月度数据趋势

累计下载2,480
8951,7462,5972026-03 · 累计下载 1,0122026-05 · 累计下载 1,6282026-06 · 累计下载 1,7492026-07 · 累计下载 1,9722026-08 · 累计下载 2,1372026-09 · 累计下载 2,48026-0326-09
星标4
1342026-03 · 星标 12026-05 · 星标 32026-06 · 星标 42026-07 · 星标 42026-08 · 星标 42026-09 · 星标 426-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-092,480—4
2026-082,137+8.4%4
2026-071,972+12.8%4
2026-061,749+7.4%4
2026-051,628—3
2026-031,012—1

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

10 KB · ClawHub v1.0.3
---
name: miniprogram-architect
description: 提供微信小程序架构设计、项目结构优化、代码规范制定和组件库建立支持。当用户需要搭建新的微信小程序项目、重构现有项目结构或建立组件库时调用。
---

---
name: "miniprogram-architect"
description: "提供微信小程序架构设计、项目结构优化、代码规范制定和组件库建立支持。当用户需要搭建新的微信小程序项目、重构现有项目结构或建立组件库时调用。"
---
展开全部(共 280 行)
# 微信小程序架构师

## 功能介绍

本技能专注于微信小程序的架构设计和项目管理,为用户提供以下支持:

- 微信小程序项目结构设计和优化
- 代码规范和目录分割标准制定
- 组件库建立和复用策略
- 性能优化和最佳实践
- 项目架构文档编写
- 网络请求与API封装标准化
- 用户授权与隐私合规开发

## 适用场景

当用户需要:

- 新建微信小程序项目并搭建完整目录结构
- 重构现有小程序项目结构
- 制定团队开发规范和标准
- 建立可复用的组件库
- 优化小程序性能和加载速度

## 项目架构

### 目录结构

```
miniprogram-architect/
├── api/                        # API相关文件
├── assets/                     # 静态资源
│   ├── images/                 # 图片资源
│   └── styles/                 # 样式文件
├── pages/                      # 页面文件
│   ├── index/                  # 首页
│   └── tabBar/                 # 底部导航栏页面
├── utils/                      # 工具函数
├── app.js                      # 小程序入口文件
├── app.json                    # 小程序配置文件
├── app.wxss                    # 全局样式文件
├── project.config.json         # 项目配置文件
├── project.private.config.json # 项目私有配置文件
└── sitemap.json                # 小程序站点地图
```

### 技术栈

- 微信小程序原生开发
- WXML + WXSS + JavaScript
- WeUI组件库
- 微信官方API

## 使用指南

### 项目初始化

1. **目录结构搭建**:创建标准的小程序目录结构
2. **配置文件设置**:配置app.json、project.config.json等文件
3. **基础文件创建**:创建app.js、app.wxss等基础文件

### 代码规范

1. **命名规范**:文件、变量、函数的命名规则(It is not allowed to use Chinese naming.)
2. **代码风格**:缩进、注释、代码组织方式
3. **目录分割**:页面、组件、工具函数的目录划分标准

#### 模块导出规范(ES6 `export * as`)

在小程序项目中,可使用 ES2020 的 **命名空间重导出**  来统一导出路径配置、路由映射等,便于集中管理和复用:

```js
// utils/variable.js
export const home = 'pages/index/index'
export const about = 'pages/about/index'

// pages/paths.js
export * as paths from './variable';
console.log(paths.home)
```

```js
// pages/other.js
import { home } from './variable';

console.log(home)
```

### 组件库建立

1. **组件设计**:设计可复用的组件结构
2. **组件规范**:组件命名、参数传递、事件处理
3. **组件文档**:编写组件使用说明和示例

### 性能优化

1. **代码体积优化**:减少小程序包大小
2. **加载性能优化**:提高页面加载速度
3. **运行性能优化**:优化小程序运行时性能

## 最佳实践

### 目录结构最佳实践

- **模块化**:按功能模块划分目录
- **组件化**:将可复用部分抽象为组件
- **工具函数**:将通用功能封装为工具函数

### 代码规范最佳实践

- **命名规范**:使用驼峰命名法,避免使用拼音
- **注释规范**:关键代码添加注释,说明功能和实现思路
- **代码组织**:逻辑清晰,结构合理

### 性能优化最佳实践

- **按需加载**:使用lazyCodeLoading和componentPlaceholder
- **图片优化**:使用合适的图片格式和大小
- **网络请求优化**:合理使用缓存,减少请求次数

## 示例

### 项目结构示例

```
├── api/                        # API相关文件
│   ├── env.js                  # 环境配置(开发/测试/生产环境)
│   ├── dome.js                 # 功能相关API (根据实际项目功能设计API文件,如用户、商品、订单等模块)
│   └── fetch.js                # 网络请求封装 (封装网络请求:支持请求拦截、响应拦截、错误处理token刷新、中断请求任务等功能)
├── assets/                     # 静态资源
│   ├── images/                 # 图片资源
│   └── styles/                 # 样式文件
├── pages/                      # 页面文件
│   ├── index/                  # 启动页
│   └── tabBar/                 # 底部导航栏页面
│       ├── home/               # 首页
│       ├── folder/             # 档案夹
│       └── mine/               # 我的
├── utils/                      # 工具函数
│   ├── request.js              # 请求工具 (封装网络请求:wx.request、wx.downloadFile、wx.uploadFile参照axisos封装,支持请求拦截、响应拦截、错误处理等功能)
│   ├── util.js                 # 通用工具
│   └── version.js              # 版本工具
├── app.js                      # 小程序入口文件
├── app.json                    # 小程序配置文件
├── app.wxss                    # 全局样式文件
├── project.config.json         # 项目配置文件
├── project.private.config.json # 项目私有配置文件
└── sitemap.json                # 小程序站点地图
```

### 配置文件示例

- **说明**:iconPath、selectedIconPath路径需要根据实际项目资源路径调整,确保图标资源正确加载。

```json
{
  "pages": [
    "pages/index/index",
    "pages/tabBar/home/home",
    "pages/tabBar/folder/folder",
    "pages/tabBar/mine/mine"
  ],
  "window": {
    "backgroundTextStyle": "dark",
    "navigationBarBackgroundColor": "#FFFFFF",
    "navigationBarTitleText": "miniprogram-architect",
    "navigationBarTextStyle": "black"
  },
  "tabBar": {
    "color": "#666666",
    "selectedColor": "#4A76F3",
    "backgroundColor": "#ffffff",
    "borderStyle": "black",
    "list": [
      {
        "pagePath": "pages/tabBar/home/home",
        "text": "首页",
        "iconPath": "assets/images/tabbar/home.png",
        "selectedIconPath": "assets/images/tabbar/home_active.png"
      },
      {
        "pagePath": "pages/tabBar/folder/folder",
        "text": "档案夹",
        "iconPath": "assets/images/tabbar/folder.png",
        "selectedIconPath": "assets/images/tabbar/folder_active.png"
      },
      {
        "pagePath": "pages/tabBar/mine/mine",
        "text": "我的",
        "iconPath": "assets/images/tabbar/mine.png",
        "selectedIconPath": "assets/images/tabbar/mine_active.png"
      }
    ]
  },
  "sitemapLocation": "sitemap.json",
  "useExtendedLib": {
    "weui": true
  },
  "lazyCodeLoading": "requiredComponents"
}
```

## 注意事项

- 严格遵循微信小程序官方开发规范,确保代码符合平台审核标准;
- 严控代码体积,主包大小不超过 2MB,合理采用分包加载策略拆分非核心功能(如详情页、工具页),分包单个体积不超过 20MB、总体积不超过 200MB;
- 保障 API 调用安全,所有接口请求采用 HTTPS 协议,敏感接口添加签名 / Token 校验,避免明文传输用户信息;
- 优化页面性能与用户体验,包括但不限于:减少首屏加载时间、优化渲染逻辑、避免频繁 setData、添加加载态 / 空态提示;
- 提升代码可维护性与可扩展性,采用模块化 / 组件化开发,统一代码规范(如 ESLint),预留功能扩展接口;
- 分包管理需遵循 “核心功能主包、非核心功能分包” 原则,优先加载用户高频访问模块,降低初始加载压力。

## 分包配置(app.json)

```json
{
  "pages": [
    "pages/index/index", // 主包核心页面(首页)
    "pages/home/home"    // 主包高频页面
  ],
  "subpackages": [
    {
      "root": "packageA", // 分包A根目录
      "pages": [
        "pages/detail/detail", // 商品详情(非核心,分包加载)
        "pages/comment/comment" // 评论页(非核心)
      ],
      "independent": false // 非独立分包(可依赖主包资源)
    },
    {
      "root": "packageB", // 分包B(独立分包,如营销活动页)
      "pages": [
        "pages/activity/activity"
      ],
      "independent": true // 独立分包(不依赖主包,可单独加载)
    }
  ],
  "preloadRule": {
    // 预加载策略:进入首页时预加载packageA(提升后续跳转速度)
    "pages/index/index": {
      "network": "wifi", // 仅wifi下预加载
      "packages": ["packageA"]
    }
  }
}
```
## 关键说明

- independent: true 适用于无需主包资源的页面(如活动页),可单独打开,降低主包加载压力;
- preloadRule 按需预加载常用分包,平衡 “初始加载速度” 与 “后续体验”。

## 体积优化补充技巧

- 主包仅保留核心逻辑 + 高频页面,静态资源(如图片、大体积 JSON)优先放分包或 CDN;
- 使用微信开发者工具的「代码依赖分析」功能,清理未使用的代码 / 资源;
- 第三方库按需引入(如仅引入 Vant Weapp 的部分组件),避免全量导入。
  (如果不能按需引入,建议使用WEUI组件库,官方支持useExtendedLib不占用小程序的包体积或者把第三方库放在分包中,减少主包体积)
  
```json
{
  "useExtendedLib": {
    "weui": true
  }
}
```

## 总结

- 体积管控核心:主包严控 2MB,通过分包加载拆分非核心功能,配合预加载优化体验;
- 安全与性能:API 调用需 HTTPS + 签名校验,页面优化聚焦首屏加载与渲染效率;
- 可维护性:模块化开发 + 分包合理划分,兼顾代码扩展与平台规范。

「开发编程」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。