{"id":13836020,"url":"https://github.com/caiyongmin/tiny-egg","last_synced_at":"2025-07-10T13:31:08.543Z","repository":{"id":36397979,"uuid":"173551233","full_name":"caiyongmin/tiny-egg","owner":"caiyongmin","description":"a minimum implementation version of Egg.js .","archived":false,"fork":false,"pushed_at":"2023-01-03T17:55:05.000Z","size":958,"stargazers_count":5,"open_issues_count":16,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-20T22:50:47.199Z","etag":null,"topics":["egg","eggjs","nodejs"],"latest_commit_sha":null,"homepage":"https://eggjs.org/zh-cn/","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/caiyongmin.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":"2019-03-03T08:47:00.000Z","updated_at":"2023-08-19T02:44:39.000Z","dependencies_parsed_at":"2023-01-17T01:31:28.845Z","dependency_job_id":null,"html_url":"https://github.com/caiyongmin/tiny-egg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/caiyongmin/tiny-egg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiyongmin%2Ftiny-egg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiyongmin%2Ftiny-egg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiyongmin%2Ftiny-egg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiyongmin%2Ftiny-egg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/caiyongmin","download_url":"https://codeload.github.com/caiyongmin/tiny-egg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/caiyongmin%2Ftiny-egg/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264585372,"owners_count":23632646,"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","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":["egg","eggjs","nodejs"],"created_at":"2024-08-04T15:00:32.686Z","updated_at":"2025-07-10T13:31:06.233Z","avatar_url":"https://github.com/caiyongmin.png","language":"JavaScript","funding_links":[],"categories":["2. 常用的库和插件的代码实现"],"sub_categories":[],"readme":"# tiny-egg\n\nA minimum implementation version of [egg.js](https://eggjs.org/zh-cn/).\n\n## Run\n\n```bash\n# clone project\ngit clone git@github.com:caiyongmin/tiny-egg.git\n\n# install dependencies\nnpm run bootstrap\n\n# run demo\nnpm run demo\n```\n\nBrowse page address: http://localhost:8001/. For more pages, please see example/app/router.js, or add your own page route.\n\n![guide](./doc/guide.gif)\n\n## Features\n\n- Router parser.\n- Controller handle request, and response.\n\n## Todos\n\n- [x] Controller needs to continue to do well.\n- [x] Support load service.\n- [x] Support load middleware.\n- [x] Support load config.\n- [x] Support load app/ctx/request/response/helper extend.\n- [x] Support load plugin.\n  - Temporary, only middleware plugins are supported.\n\n## Directory structure\n\n```\n.\n├── example                       # 项目示例\n│   ├── app\n│   │   ├── controller            # 控制器\n│   │   │   └── page.js\n│   │   ├── extend                # 扩展\n│   │   │   ├── application.js\n│   │   │   ├── context.js\n│   │   │   ├── helper.js\n│   │   │   ├── request.js\n│   │   │   └── response.js\n│   │   ├── middleware            # 中间件\n│   │   │   └── robot.js\n│   │   ├── router.js             # 路由\n│   │   └── service               # 服务\n│   │       └── page.js\n│   ├── app.js                    # 应用初始化\n│   ├── config                    # 配置\n│   │   ├── config.default.js\n│   │   └── plugin.js\n│   ├── lib                       # 插件\n│   │   └── plugin\n│   │       └── egg-static-cache\n│   ├── package.json\n│\n├── packages                            # egg.js 框架，包含 egg-core 和 egg\n│   ├── egg\n│   │   ├── application.js\n│   │   ├── egg.js                      # 应用基础类\n│   │   ├── index.js\n│   │   ├── loader\n│   │   │   └── app_worker_loader.js    # 加载器\n│   │   ├── package.json\n│   │   └── utils\n│   │       └── base_context_class.js   # Controller、Service 等的基础类\n│   └── egg-core\n│       ├── index.js\n│       ├── egg_core.js                 # eggCore 基础类\n│       ├── loader\n│       │   ├── egg_loader.js           # eggCore 加载器\n│       │   └── mixins\n│       │       ├── config.js           # 加载配置\n│       │       ├── controller.js       # 加载控制器\n│       │       ├── extend.js           # 加载扩展\n│       │       ├── middleware.js       # 加载中间件\n│       │       ├── plugin.js           # 加载插件\n│       │       ├── router.js           # 加载路由\n│       │       └── service.js          # 加载服务\n│       ├── utils\n│       │   ├── base_context_class.js   # eggCore 基础类\n│       │   ├── basic.js                # 基础工具库\n│       │   ├── context_loader.js       # eggCore contextLoader 加载器，继承自 fileLoader\n│       │   ├── file_loader.js          # eggCore fileLoader\n│       │   └── router.js               # 路由基础类\n│       ├── package.json\n│       └── yarn.lock\n├── LICENSE\n├── README.md\n├── jest.config.js\n├── package.json\n└── yarn.lock\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaiyongmin%2Ftiny-egg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaiyongmin%2Ftiny-egg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaiyongmin%2Ftiny-egg/lists"}