{"id":20791615,"url":"https://github.com/yefei/zenweb","last_synced_at":"2026-04-30T07:32:05.019Z","repository":{"id":57158865,"uuid":"325219441","full_name":"yefei/zenweb","owner":"yefei","description":"Modular lightweight web framework based on Koa","archived":false,"fork":false,"pushed_at":"2023-03-24T08:05:20.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-13T22:52:44.309Z","etag":null,"topics":["koa","zenweb"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yefei.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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":"2020-12-29T07:37:55.000Z","updated_at":"2022-01-10T13:39:03.000Z","dependencies_parsed_at":"2024-06-21T20:40:40.514Z","dependency_job_id":null,"html_url":"https://github.com/yefei/zenweb","commit_stats":null,"previous_names":["yefei/jiango-node"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yefei/zenweb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yefei%2Fzenweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yefei%2Fzenweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yefei%2Fzenweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yefei%2Fzenweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yefei","download_url":"https://codeload.github.com/yefei/zenweb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yefei%2Fzenweb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32458237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"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":["koa","zenweb"],"created_at":"2024-11-17T15:45:55.013Z","updated_at":"2026-04-30T07:32:05.007Z","avatar_url":"https://github.com/yefei.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZenWeb\n\nModular lightweight web framework based on Koa\n\n## Document\n\n[ZenWeb 文档](https://zenweb.node.ltd)\n\n## Install\n\n```bash\n# for production\nnpm install zenweb\n\n# for development\nnpm install dotenv typescript rimraf tsc-watch --save-dev\n```\n\n## Project Code\n\nedit `package.json` file at `scripts`:\n\n```json\n\"scripts\": {\n  \"start\": \"node --enable-source-maps app\",\n  \"dev\": \"rimraf app \u0026\u0026 tsc-watch --onSuccess \\\"npm run dev-start\\\"\",\n  \"dev-start\": \"node -r dotenv/config --enable-source-maps app\",\n  \"build\": \"rimraf app \u0026\u0026 tsc\"\n}\n```\n\ncreate `tsconfig.json` file\n\n```json\n{\n  \"extends\": \"zenweb/tsconfig-app\",\n  \"compilerOptions\": {\n    \"outDir\": \"./app\"\n  },\n  \"include\": [\"src/**/*\"]\n}\n```\n\ncreate `.env` file\n\n```bash\nAPP_NAME=myweb\nNODE_ENV=development\nDEBUG=*\n```\n\ncreate `src/index.ts` file\n\n```ts\nimport { create } from 'zenweb';\ncreate().start();\n```\n\ncreate `src/service/hello.ts` file\n\n```ts\nimport { inject } from 'zenweb';\n\nexport class HelloService {\n  @inject ctx!: Context;\n\n  getIp() {\n    return this.ctx.ip;\n  }\n}\n```\n\ncreate `src/controller/hello.ts` file\n\n```ts\nimport { mapping } from 'zenweb';\nimport { HelloService } from '../service/hello';\n\nexport class HelloController {\n  @mapping()\n  index(service: HelloService) {\n    const ip = service.getIp();\n    return `Hello ZenWeb! ${ip}`;\n  }\n}\n```\n\nstart server:\n\n```bash\nnpm run dev\n```\n\n## 内置模块\n- [core](https://www.npmjs.com/package/@zenweb/core) 核心\n- [meta](https://www.npmjs.com/package/@zenweb/meta) 运行基本信息，例如：请求耗时\n- [inject](https://www.npmjs.com/package/@zenweb/inject) 注入支持\n- [router](https://www.npmjs.com/package/@zenweb/router) 路由支持\n- [log](https://www.npmjs.com/package/@zenweb/log) 日志支持\n- [result](https://www.npmjs.com/package/@zenweb/result) 统一结果返回，成功或失败\n- [messagecode](https://www.npmjs.com/package/@zenweb/messagecode) 统一错误消息格式化\n  - 依赖 inject, result\n- [controller](https://www.npmjs.com/package/@zenweb/controller) 类控制器支持\n  - 依赖 inject, router\n- [helper](https://www.npmjs.com/package/@zenweb/helper) 输入数据验证助手\n  - 依赖 inject, messagecode\n- [body](https://www.npmjs.com/package/@zenweb/body) 请求主体解析，JSON、Form\n  - 依赖 inject, helper\n\n内置模块默认开启，可以通过设置配置项为 **false** 关闭\n\n\n## 可选模块\n- [cors](https://www.npmjs.com/package/@zenweb/cors) 跨域支持\n- [sentry](https://www.npmjs.com/package/@zenweb/sentry) sentry 错误收集\n- [metric](https://www.npmjs.com/package/@zenweb/metric) 生产运行健康信息收集\n- [validation](https://www.npmjs.com/package/@zenweb/validation) JSONSchema 验证\n- [mysql](https://www.npmjs.com/package/@zenweb/mysql) MySQL 数据库支持\n- [orm](https://www.npmjs.com/package/@zenweb/orm) ORM 支持\n- [template](https://www.npmjs.com/package/@zenweb/template) 模版渲染\n- [schedule](https://www.npmjs.com/package/@zenweb/schedule) 定时任务\n- [form](https://www.npmjs.com/package/@zenweb/form) 统一表单（多用于后台）\n- [grid](https://www.npmjs.com/package/@zenweb/grid) 统一表格（多用于后台）\n- [upload](https://www.npmjs.com/package/@zenweb/upload) 文件上传支持\n- [xmlBody](https://www.npmjs.com/package/@zenweb/xml-body) XML Body 解析\n- [msgpack](https://www.npmjs.com/package/@zenweb/msgpack) MessagePack 输出\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyefei%2Fzenweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyefei%2Fzenweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyefei%2Fzenweb/lists"}