{"id":19451726,"url":"https://github.com/zhengxs2018/koa-hooks","last_synced_at":"2026-05-01T23:38:25.652Z","repository":{"id":51405422,"uuid":"255614104","full_name":"zhengxs2018/koa-hooks","owner":"zhengxs2018","description":"react hooks \u0026 koa 风格的轻量级 web 框架","archived":false,"fork":false,"pushed_at":"2021-05-12T01:12:57.000Z","size":1076,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-25T09:34:30.262Z","etag":null,"topics":["framework","koa","react-hooks","web"],"latest_commit_sha":null,"homepage":"https://zhengxs2018.github.io/koa-hooks/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zhengxs2018.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":"2020-04-14T13:16:42.000Z","updated_at":"2022-01-18T06:28:40.000Z","dependencies_parsed_at":"2022-09-11T17:00:27.943Z","dependency_job_id":null,"html_url":"https://github.com/zhengxs2018/koa-hooks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zhengxs2018/koa-hooks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Fkoa-hooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Fkoa-hooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Fkoa-hooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Fkoa-hooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhengxs2018","download_url":"https://codeload.github.com/zhengxs2018/koa-hooks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhengxs2018%2Fkoa-hooks/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261528619,"owners_count":23172748,"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":["framework","koa","react-hooks","web"],"created_at":"2024-11-10T16:42:46.328Z","updated_at":"2026-05-01T23:38:25.619Z","avatar_url":"https://github.com/zhengxs2018.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React.js hooks + koa.js 风格的轻量级 web 框架\n\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)\n\nReact.js hooks + koa.js 风格的轻量级 web 框架。\n\n## 相关文章\n\n* [写一个 react hooks + koa 风格的 web 框架](https://juejin.im/post/6844904127382683655)\n* [给 session 安排 useEffect 和 memo 会是种什么样的开发体验？](https://juejin.im/post/6844904128808747022)\n\n## 安装\n\nkoa-hooks requires node v10 or higher for ES2015 and async function support.\n\n```bash\n$ npm install @zhengxs/koa-hooks --save\n```\n\n## 示例代码\n\n**hello,world**\n\n```javascript\nimport { use, listen } from '@zhengxs/koa-hooks'\n\nuse(async ctx =\u003e {\n  ctx.body = `hello,world`\n})\n\nlisten(8080, () =\u003e {\n  console.log('Liston http://127.0.0.1:8080')\n})\n```\n\n**路由匹配 和 重定向**\n\n```javascript\nimport { Server } from 'http'\n\nimport { use, route, redirect, urlFor, listen } from '@zhengxs/koa-hooks'\n\nroute('product.detail', '/api/product/:id', ctx =\u003e {\n  ctx.status = 200\n  ctx.type = 'application/json'\n  ctx.body = ctx.params\n})\n\nroute('/api/user/info', () =\u003e {\n  console.log('用户未登陆，跳转到登陆页')\n  redirect(urlFor('login'))\n})\n\nroute('login', '/login', ctx =\u003e {\n  ctx.body = 'This login page.'\n})\n\nuse(ctx =\u003e {\n  ctx.body = `hello,world`\n})\n\nlisten(8080, function onReady() {\n  console.log('Liston http://127.0.0.1:8080')\n})\n```\n\n## 启动项目\n\n你需要安装 [node.js][node.js] 的版本为 `nodejs \u003e= 8.0`。\n\n克隆此仓库后运行:\n\n```shell\n# 安装依赖，推荐使用 yarn 安装\n$ npm install\n\n# 启动示例\n$ npm run dev\n```\n\n在 `package.json` 文件的 `scripts` 部分还有一些其他脚本可用.\n\n## 版本发布\n\n```bash\n# 更新版本号，内置代码检查\n$ npm version \u003cnew_version|major|minor|patch\u003e\n\n# 发布代码包，自动代码\n$ npm publish\n```\n\n可使用 `npm version --help` 查看帮助信息\n\n## 感谢\n\n感谢这些开源贡献给予的灵感，以下排名不分先后。\n\n- [Koa.js][koa]\n- [React.js][react]\n- And more\n\n[node.js]: https://nodejs.org/\n[koa]: https://github.com/koajs/koa\n[react]: https://github.com/facebook/react\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhengxs2018%2Fkoa-hooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhengxs2018%2Fkoa-hooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhengxs2018%2Fkoa-hooks/lists"}