# pages 模块化配置

  • 用户pages模块化,分别为三类配置: common,main,sub
  • 【分包】*-sub为当前分包所有路径配置,多个分包配置文件会自动合并,建议配置文件放到当前分包文件夹内;
  • 【主包】*-main为主包所有路径配置,多个主包配置文件会自动合并,建议配置文件放到主包 [tabBar] 文件夹内;
  • 【通用配置】*-common;支持配置:globalStyletabBareasycompreloadRulecondition;多个通用配置文件会自动合并;建议配置文件放到主包 [tabBar] 文件夹内;
  • 路径文件不存在时自动创建vue文件,模板文件:build/themp.vue
  • 内置命令 npm run gg:pages

# 安装

npm install @10yun/ggui-build -D
1

package:@10yun/ggui-build

内含 pagespublish 两个脚本

pages :pages模块化配置聚合脚本;最终聚合内容会覆盖掉 /src/pages.json 原有内容
publish :npm包发布脚本,自动自增版本号并发布到npm库,其中包内容需放置 /packages 内;支持多包管理 /packages/<packages_name>

# 配置

"scripts": {
    "gg:pages": "node node_modules/@10yun/ggui-build/lib/pages/build-pages.js",//pages配置聚合脚本
    "gg:publish": "node node_modules/@10yun/ggui-build/lib/publish/build-publish.js <packages_name>",//npm包自动发布脚本,packages_name为可选参数
}
1
2
3
4

# 使用

npm run gg:pages #执行pages配置聚合脚本
npm run gg:publish #执行npm包自动发布脚本
#或
# node node_modules/@10yun/ggui-build/lib/pages/build-pages.js
# node node_modules/@10yun/ggui-build/lib/publish/build-publish.js <packages_name>
1
2
3
4
5
# 目录结构
|-- pages
    |-- subPackages1        //分包一
    |   |-- pages-sub.json // 分包路径配置
    |   ...                //你自己的项目文件
    |-- subPackages2       //分包二
    |   |-- pages-sub.json // 分包路径配置
    |   ...                //你自己的项目文件
    |-- taBar                 //主包
    |   |-- pages-main.json //主包所有路径配置
    |   |-- pages-bar.json //globalStyle、tabBar和easycom的配置
    |   ...                //你自己的项目文件

1
2
3
4
5
6
7
8
9
10
11
12

pages-main.json

[
    {
        "path": "pages/tabBar/index/index",
        "style": {
            "navigationBarTitleText": "首页"
        }
    },
    {
        "path": "pages/tabBar/member/member",
        "style": {
            "navigationBarTitleText": "成员"
        }
    }
    
    
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

pages-sub.json

{
    {
        "path": "pages/tabBar/index/index",
        "style": {
            "navigationBarTitleText": "首页"
        }
    },
    {
        "path": "pages/tabBar/member/member",
        "style": {
            "navigationBarTitleText": "成员"
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

pages-common.json

{
    "globalStyle": {
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "uni-app",
        "navigationBarBackgroundColor": "#F8F8F8",
        "backgroundColor": "#F8F8F8"
    },
    "tabBar": {
        "color": "#7A7E83",
        "selectedColor": "#3cc51f",
        "borderStyle": "black",
        "backgroundColor": "#ffffff",
        "list": [
            {
                "pagePath": "pages/tabBar/index/index",
                "iconPath": "static/tabbar/index.png",
                "selectedIconPath": "static/tabbar/index_cur.png",
                "text": "首页"
            },
            {
                "pagePath": "pages/tabBar/member/member",
                "iconPath": "static/tabbar/member.png",
                "selectedIconPath": "static/tabbar/member_cur.png",
                "text": "成员"
            }
        ]
    },
    "condition":{},
    "preloadRule":{},
    "easycom": {
        "autoscan": true,
        "custom": {
            "^gg-(.*)": "@10yun/ggui-mobile/gg-$1/gg-$1.vue"
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36