{"id":16321615,"url":"https://github.com/hstarorg/ngx-modular-platform","last_synced_at":"2026-03-03T20:04:01.485Z","repository":{"id":75613013,"uuid":"76326073","full_name":"hstarorg/ngx-modular-platform","owner":"hstarorg","description":"A development platform based Angular next(2.x+), easy for multiple teams development.","archived":false,"fork":false,"pushed_at":"2018-08-17T03:09:10.000Z","size":5321,"stargazers_count":42,"open_issues_count":1,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-01T00:59:00.150Z","etag":null,"topics":["angular","angular4","dynamic-module","module-system"],"latest_commit_sha":null,"homepage":"https://hstarorg.github.io/ngx-modular-platform/","language":"TypeScript","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/hstarorg.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2016-12-13T05:32:25.000Z","updated_at":"2025-02-07T09:58:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"6f77c95b-32b7-421e-8d6f-2ab3ffa3bf8a","html_url":"https://github.com/hstarorg/ngx-modular-platform","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hstarorg/ngx-modular-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstarorg%2Fngx-modular-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstarorg%2Fngx-modular-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstarorg%2Fngx-modular-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstarorg%2Fngx-modular-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hstarorg","download_url":"https://codeload.github.com/hstarorg/ngx-modular-platform/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hstarorg%2Fngx-modular-platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30057628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["angular","angular4","dynamic-module","module-system"],"created_at":"2024-10-10T22:48:25.185Z","updated_at":"2026-03-03T20:04:01.469Z","avatar_url":"https://github.com/hstarorg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# angular-modular-platform\nA development platform based Angular2, easy for multiple teams development.\n\n基于 `Angular` 的模块化开发平台。\n\n# Usage\n\n```bash\n# 初始化依赖 \nnpm i\n# 生成type define文件（如果要运行框架代码，请务必执行该命令，否则ts-loader会有一堆错误）\nnpm run types\n\n# 运行（执行编译并监控，非AOT模式）\nnpm run dev\n\n# 模块相关命令\nnpm run modules # JIT编译模块\nnpm run modules:ngc # angular-compiler-cli 编译模块\nnpm run modules:aot # AOT编译模块（会先执行 modules:ngc）\n\n# 生成Demo发布包\nnpm run build\n```\n\n**注：框架默认只安装了 `css-loader`，但提供了 `sass less stylus` 的支持，如果需要使用以上几种预处理器，请务必安装相关插件**\n\n```bash\n# sass\nnpm i --save-dev node-sass sass-loader\n\n# less\nnpm i --save-dev less less-loader\n\n# stylus\nnpm i --save-dev stylus stylus-loader\n```\n\n# 目录结构\n\n```\nbuild/ -- 构建代码目录\nmodules/ -- 模块放置目录\n  demo1/ -- 模块1\n  demo2/ -- 模块2\nsrc/ -- 源代码目录\n  app/ -- 页面目录\n  common_module/ -- 公共模块目录\n    filters/ -- 公共过滤器\n    services/ -- 公共服务\n    common.module.ts -- 公共模块定义\n    index.ts -- 导出公共模块\n  app.module.ts -- 根模块\n  app.routing.ts -- 顶级路由配置\n  bootstrap.ts -- 程序入口\n```\n\n# 核心思想\n\n### 需求\n\n1. 首先，需要维护一个独立的平台，支持多个团队通过可视化操作提交开发的模块到平台中，通过配置菜单即可访问到。\n2. 基于 `Angular` 搭建\n3. 支持模块的动态加载\n4. 需要提供公共服务/组件等\n5. 其他更细致的业务相关需求，不再罗列\n\n### 如何实现？\n\n1. 提供一个部署好的站点\n2. 提供一个可供开发团队使用的开发包（包含构建，公共功能）\n3. 提供模块打包等一系列辅助功能（通过cli）\n\n### 遇到的问题\n\n1. 如何高效的打包模块？\n\n    使用 `webpack` 的外部依赖功能，将所有依赖的平台插件，先行构建好，然后模块只打包它本身独立的功能。\n\n2. 如何实现AOT？\n\n    模块本身是可以直接AOT的，通过搭配 `angular-compiler-cli` 和 `webpack` 实现模块的cli加载。\n\n3. 其他问题~\n\n    待挖掘\n\n### 注意事项\n\n1. 进行模块开发， 如果有框架依赖，一定要引用完整依赖，如 `import { xxx } from 'rxjs'`\n2. 要使用公共模块，请务必使用 `import { xxx } from 'app/common'`\n\n# Change log\n\n[查看变更日志](CHANGELOG.md)\n\n# License\n\n[MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhstarorg%2Fngx-modular-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhstarorg%2Fngx-modular-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhstarorg%2Fngx-modular-platform/lists"}