{"id":31824469,"url":"https://github.com/matthrews/multiple_pages_build","last_synced_at":"2026-04-10T23:31:34.989Z","repository":{"id":48315790,"uuid":"390549490","full_name":"Matthrews/multiple_pages_build","owner":"Matthrews","description":"Webpack多页面打包实践","archived":false,"fork":false,"pushed_at":"2021-08-02T03:28:47.000Z","size":27,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-25T01:03:38.395Z","etag":null,"topics":["multi-page-boilerplate","react","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Matthrews.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-29T00:33:15.000Z","updated_at":"2023-07-17T13:19:12.000Z","dependencies_parsed_at":"2022-09-21T11:41:47.426Z","dependency_job_id":null,"html_url":"https://github.com/Matthrews/multiple_pages_build","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Matthrews/multiple_pages_build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matthrews%2Fmultiple_pages_build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matthrews%2Fmultiple_pages_build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matthrews%2Fmultiple_pages_build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matthrews%2Fmultiple_pages_build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Matthrews","download_url":"https://codeload.github.com/Matthrews/multiple_pages_build/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Matthrews%2Fmultiple_pages_build/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007603,"owners_count":26084333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["multi-page-boilerplate","react","webpack"],"created_at":"2025-10-11T15:28:24.235Z","updated_at":"2025-10-11T15:28:26.957Z","avatar_url":"https://github.com/Matthrews.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# multiple_pages_build\n\n多页面打包实践\n\n## 特性\n\n- 命令式快速添加模板页面\n\n- 区分环境，指定应用`appId`打包\n\n- 打包分析\n\n- 代码规范严格管控：ESLint+StyleLint+CommitLint+Husky\n\n- 自带子模块`submodle`\n\n## 常用脚本\n\n_cd 只支持 npm,暂不支持 yarn，工程不维护 yarn.lock_\n\n```bash\n# 启动项目\nnpm start\n\n# 本地打包测试\n# 如模拟在CD上打包，则在cd.json的`cdn-path`赋值,例如www.abc.com/${appId}/20201217\nnpm run build\n\n# 新增页面\nnpm run add:page\n\n# 移除页面\n# 移除add:page添加的页面\n# 建议使用此方式移除页面, 此方式会检测测页面在测试站点是否有在使用\n# !!! 一般情况下不建议手动从项目中移除\nnpm run remove:page\n\n# js lint\nnpm run lint:js\n\n# style lint\nnpm run lint:css\n\n# analyz build report\nnpm run analyz\n\n# 新建分支（submodule自动切同名分支）\nnpm run cb\n```\n\n## 目录结构\n\n```bash\n   |\n   ├──config/                     * 工程配置\n   │   │\n   │   └──webpack                 * 构建配置\n   ├──scripts/                    * 工程脚本\n   │   │\n   │   └──templates               * 页面模块\n   ├──shared-powers/              * 跨端公用服务(submodule)\n   │   │\n   │   └──services                * 后端接口服务\n   ├──src/                        * 主程序\n   │   │\n   │   │──assets                  * 所有静态资源\n   |   │  └──common.less          * 公用less变量\n   │   │\n   │   └──cache                   * 封装Storage操作\n   │   │\n   │   └──components              * 跨页面的UI和业务组件\n   │   │  │\n   │   │  └──buz                  * 业务组件\n   │   │  └──ui                   * UI组件(待抽取)\n   │   │\n   │   └──contstant               * 所有页面常量配置\n   │   │\n   │   └──pages                   * 所有页面\n   │   │\n   │   └──utils                   * 封装的工具\n   │\n   │──babel.config.js             * babel 配置\n   │\n   │──eslintrc.js                 * eslint配置\n   │\n   │──.gitmodules                 * submodule配置\n   |\n   │──cd.json                     * cd系统cdn发布配置\n   │\n   │──stylelintrc.js            * stylelint配置\n   │\n   │──commitlint.config.js        * commitlint配置\n   │\n   │──postcss.config.js           * postcss配置\n   │\n   └──tsconfig.json                 * tslint 配置\n```\n\n## 统一的错误承接页面 `/error-page.html`\n\n页面参数:\n\n|   name    |  defalut   | required |                   remark                   |\n| :-------: | :--------: | :------: | :----------------------------------------: |\n|   title   |  `出错了`  |    否    |                Navbar 标题                 |\n|   info    |     -      |    否    |              异常主要说明文案              |\n|   desc    |     -      |    否    |              异常次要说明文案              |\n|  btnText  | `刷新试试` |    否    |                  按钮文案                  |\n| actionUrl |     -      |    否    | 有的话，重定向到指定链接，否则退出 webview |\n\n---\n\n错误类型统计详见 [src/pages/error-page/README.md](./src/pages/error-page/README.md)\n\n\u003cbr/\u003e\n\n# 备注\n\n- submodule 的 URL 地址须为`ssh`地址，http(s)的地址 CI 打包的时候会报错，因为 jenkins 上 git 是 ssh 认证授权的。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthrews%2Fmultiple_pages_build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthrews%2Fmultiple_pages_build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthrews%2Fmultiple_pages_build/lists"}