{"id":22779359,"url":"https://github.com/microappjs/plugin-koa","last_synced_at":"2025-04-15T14:22:08.209Z","repository":{"id":57326083,"uuid":"348729704","full_name":"MicroAppJS/plugin-koa","owner":"MicroAppJS","description":"[Plugin] koa adapter plugin.","archived":false,"fork":false,"pushed_at":"2024-01-18T07:40:56.000Z","size":225,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T22:04:47.095Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/MicroAppJS.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-17T13:58:29.000Z","updated_at":"2021-11-29T08:49:22.000Z","dependencies_parsed_at":"2024-01-18T08:58:35.868Z","dependency_job_id":null,"html_url":"https://github.com/MicroAppJS/plugin-koa","commit_stats":{"total_commits":55,"total_committers":1,"mean_commits":55.0,"dds":0.0,"last_synced_commit":"6e1e3b31d57805d9251f70861ea5b890b8c41e82"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroAppJS%2Fplugin-koa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroAppJS%2Fplugin-koa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroAppJS%2Fplugin-koa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroAppJS%2Fplugin-koa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MicroAppJS","download_url":"https://codeload.github.com/MicroAppJS/plugin-koa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249085759,"owners_count":21210349,"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":[],"created_at":"2024-12-11T20:08:34.690Z","updated_at":"2025-04-15T14:22:08.169Z","avatar_url":"https://github.com/MicroAppJS.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Micro APP Plugin Koa\n\n[Plugin] koa adapter plugin for micro-app.\n\nMicro APP 依赖 Koa 插件.\n\n[![Coverage Status][Coverage-img]][Coverage-url]\n[![CircleCI][CircleCI-img]][CircleCI-url]\n[![NPM Version][npm-img]][npm-url]\n[![NPM Download][download-img]][download-url]\n\n[Coverage-img]: https://coveralls.io/repos/github/MicroAppJS/MicroApp-plugin-koa/badge.svg?branch=master\n[Coverage-url]: https://coveralls.io/github/MicroAppJS/MicroApp-plugin-koa?branch=master\n[CircleCI-img]: https://circleci.com/gh/MicroAppJS/MicroApp-plugin-koa/tree/master.svg?style=svg\n[CircleCI-url]: https://circleci.com/gh/MicroAppJS/MicroApp-plugin-koa/tree/master\n[npm-img]: https://img.shields.io/npm/v/@micro-app/plugin-koa.svg?style=flat-square\n[npm-url]: https://npmjs.org/package/@micro-app/plugin-koa\n[download-img]: https://img.shields.io/npm/dm/@micro-app/plugin-koa.svg?style=flat-square\n[download-url]: https://npmjs.org/package/@micro-app/plugin-koa\n\n## Install\n\n```sh\nyarn add @micro-app/plugin-koa\n```\n\nor\n\n```sh\nnpm install -D @micro-app/plugin-koa\n```\n\n## Usage\n\n### 在 microapp/config 中配置\n\n```js\n'use strict';\n\nmodule.exports = {\n    ...\n    alias: {\n        config: './src/config',\n        helper: './src/helper',\n        service: './src/service',\n        plugin: './src/plugin',\n        middleware: './src/middleware',\n        router: './src/router',\n    },\n    server: {\n        entry: 'app.js',\n        options: {\n            abc: 123,\n        },\n        cc: 1,\n    },\n    devServer: {\n        port: 6666,\n    },\n};\n```\n\n### 入口文件 `server.entry` 中\n\n分发调用指定的模块，其中 `router` 为必须项\n\n```js\n'use strict';\n\n\nmodule.exports = function(app) {\n\n    // // 增强 $config\n    // app.$dispatcher('config', require.resolve('@micro-app/test/config'));\n    // // 配置全局 helper\n    // app.$dispatcher('helper', require.resolve('@micro-app/test/helper'));\n    // // 配置全局 service\n    // app.$dispatcher('service', require.resolve('@micro-app/test/service'));\n    // // 配置全局 plugin\n    // app.$dispatcher('plugin', require.resolve('@micro-app/test/plugin'));\n    // // 配置全局  middleware\n    // app.$dispatcher('middleware', require.resolve('@micro-app/test/middleware'));\n    // 配置路由 router\n    app.$dispatcher('router', require.resolve('@micro-app/test/router'));\n\n    return app;\n\n};\n\n```\n\n### 开启 swagger\n\n配置 `.env` 文件，开启 Swagger，只支持 `src/**/*.js` 目录下文件\n\n```conf\nDOCS_SWAGGER=true\n```\n\n通过扩展配置 `DOCS_SWAGGER_ROOT`，可支持其它目录 `path.resolve(process.env.DOCS_SWAGGER_ROOT, '**/*.js')` 目录下文件\n\n```conf\nDOCS_SWAGGER_ROOT={{ dirname }}\n```\n\n配置 swagger 文档，需要在接口方法中增加注释，如下：\n\n```js\n// https://www.npmjs.com/package/swagger-jsdoc\n/**\n * @swagger\n * /api/docs/swagger.json:\n *   get:\n *     summary: 返回 swagger.json\n *     description: 返回 json 格式的 swagger.json\n *     responses:\n *       200:\n *         description: 成功\n */\nrouter.get('/swagger.json', swaggerRoutes.swaggerJson());\n\n/**\n * @swagger\n * /api/docs/swagger:\n *   get:\n *     summary: swagger 页面\n *     description: swagger 展示所有接口\n *     responses:\n *       200:\n *         description: 成功\n */\nrouter.get('/swagger', swaggerRoutes.swagger());\n```\n\n\u003e 可参考：https://editor.swagger.io/\n\n访问接口文档\n\n```js\n/api/docs/swagger\n// or\n/api/docs/swagger.json\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicroappjs%2Fplugin-koa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicroappjs%2Fplugin-koa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicroappjs%2Fplugin-koa/lists"}