{"id":19852776,"url":"https://github.com/sumingcheng/moduvue","last_synced_at":"2026-04-10T11:31:51.562Z","repository":{"id":153678939,"uuid":"629757725","full_name":"sumingcheng/ModuVue","owner":"sumingcheng","description":"基于Webpack5和Vue3的框架，提供了许多常用的功能和工具，可以帮助快速搭建一个高效、可扩展和易维护的Web应用程序。","archived":false,"fork":false,"pushed_at":"2023-09-13T13:54:23.000Z","size":697,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T23:23:22.654Z","etag":null,"topics":["autoprefixer","axios","babel","crypto","dayjs","echats","element-plus","gulp","js-cookie","less","loadsh","postcss","prettier","vue-router","vue3","vuex","webpack-analyzer","webpack5"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sumingcheng.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-19T01:04:09.000Z","updated_at":"2023-05-06T02:44:52.000Z","dependencies_parsed_at":"2025-01-11T13:27:35.429Z","dependency_job_id":"15cdf47e-2ead-4e20-952f-f3f29d92f4f6","html_url":"https://github.com/sumingcheng/ModuVue","commit_stats":{"total_commits":105,"total_committers":1,"mean_commits":105.0,"dds":0.0,"last_synced_commit":"5410e98113cb89de261f75e07bae31bf15a4f7bd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sumingcheng/ModuVue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sumingcheng%2FModuVue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sumingcheng%2FModuVue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sumingcheng%2FModuVue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sumingcheng%2FModuVue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sumingcheng","download_url":"https://codeload.github.com/sumingcheng/ModuVue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sumingcheng%2FModuVue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31641114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["autoprefixer","axios","babel","crypto","dayjs","echats","element-plus","gulp","js-cookie","less","loadsh","postcss","prettier","vue-router","vue3","vuex","webpack-analyzer","webpack5"],"created_at":"2024-11-12T14:04:20.880Z","updated_at":"2026-04-10T11:31:51.538Z","avatar_url":"https://github.com/sumingcheng.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ModuVue\n\n该项目是开箱即用的一个基于 Vue3 + Webpack5 的模块化项目框架。\n\n## 安装\n\n    npm i\n\n    yarn\n\n    pnpm i\n\n## 启动\n\n    npm run dev\n\n    yarn dev\n\n    pnpm run dev\n\n## 构建\n\n    npm run build\n\n    yarn build\n\n    pnpm run build\n\n## 推荐使用\n\n1. nvm 管理 node 版本，推荐使用 v16 以上\n2. less 编译器，推荐使用 less v4 以上\n3. gulp 构建工具，推荐使用 gulp v4 以上\n4. npm 包管理工具，推荐使用最高版本\n5. Git Bash 命令行工具\n\n# 项目模块化\n![image](https://github.com/sumingcheng/ModuVue/assets/21992204/baa2a911-03a1-4798-a329-82f021a57b53)\n\n\n## 模块化原理\n\n项目模块目录在`src/views`，该目录下每个文件夹就代表一个模块，目录名称就是该模块名的缩写。\n\n### 模块目录结构\n\n* **service-config/**  - 模块基础服务配置\n    - **http**  - 请求配置\n    - **routes**  - 路由配置\n    - **store**  - 状态配置\n\n* **pages/**  - 模块页面目录\n    - **index.js**  - 页面启动组件\n\n## 创建新模块\n\n模块的标准模板`src/baseModules/base`，创建一个新模块只需要把这个模块拷贝一份，然后声明下即可：\n\n将拷贝的模块目录放到`src/views`，将文件夹名称改为新的**模块名称**，例如：`src/views/demo`\n\n## 模块使用\n\n* **http**  - 请求配置，你可以选择新建一个实例，或者使用示例中的 `AxiosInstances`，改写你的登录逻辑\n\n* **routes**  - 路由配置，在`routes.js`定义该模块的路由，编写后会自动注入到路由内\n\n* **store**  - 状态配置，在`store.js`定义该模块的状态，模块名就是`VueX`的`module`名，编写后会自动注入到`VueX`内\n\n# 贡献指南\n\n* 如果你想为本项目做出贡献，请按照以下步骤进行：\n\n* 在GitHub上，Fork本项目到你的账户中；\n\n* 克隆本项目到本地进行开发修改；\n\n* 提交代码并创建一个Pull Request；\n\n* 等待作者审核并合并你的代码。\n\n# 许可证\n\n    本项目使用了Apache License Version 2.0许可证。\n    Copyright (c) [2023] [Sumingcheng]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsumingcheng%2Fmoduvue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsumingcheng%2Fmoduvue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsumingcheng%2Fmoduvue/lists"}