Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/microappjs/plugin-koa
[Plugin] koa adapter plugin.
https://github.com/microappjs/plugin-koa
Last synced: about 2 months ago
JSON representation
[Plugin] koa adapter plugin.
- Host: GitHub
- URL: https://github.com/microappjs/plugin-koa
- Owner: MicroAppJS
- License: mit
- Created: 2021-03-17T13:58:29.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-18T07:40:56.000Z (about 1 year ago)
- Last Synced: 2024-12-09T04:24:14.469Z (about 2 months ago)
- Language: JavaScript
- Size: 220 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Micro APP Plugin Koa
[Plugin] koa adapter plugin for micro-app.
Micro APP 依赖 Koa 插件.
[![Coverage Status][Coverage-img]][Coverage-url]
[![CircleCI][CircleCI-img]][CircleCI-url]
[![NPM Version][npm-img]][npm-url]
[![NPM Download][download-img]][download-url][Coverage-img]: https://coveralls.io/repos/github/MicroAppJS/MicroApp-plugin-koa/badge.svg?branch=master
[Coverage-url]: https://coveralls.io/github/MicroAppJS/MicroApp-plugin-koa?branch=master
[CircleCI-img]: https://circleci.com/gh/MicroAppJS/MicroApp-plugin-koa/tree/master.svg?style=svg
[CircleCI-url]: https://circleci.com/gh/MicroAppJS/MicroApp-plugin-koa/tree/master
[npm-img]: https://img.shields.io/npm/v/@micro-app/plugin-koa.svg?style=flat-square
[npm-url]: https://npmjs.org/package/@micro-app/plugin-koa
[download-img]: https://img.shields.io/npm/dm/@micro-app/plugin-koa.svg?style=flat-square
[download-url]: https://npmjs.org/package/@micro-app/plugin-koa## Install
```sh
yarn add @micro-app/plugin-koa
```or
```sh
npm install -D @micro-app/plugin-koa
```## Usage
### 在 microapp/config 中配置
```js
'use strict';module.exports = {
...
alias: {
config: './src/config',
helper: './src/helper',
service: './src/service',
plugin: './src/plugin',
middleware: './src/middleware',
router: './src/router',
},
server: {
entry: 'app.js',
options: {
abc: 123,
},
cc: 1,
},
devServer: {
port: 6666,
},
};
```### 入口文件 `server.entry` 中
分发调用指定的模块,其中 `router` 为必须项
```js
'use strict';module.exports = function(app) {
// // 增强 $config
// app.$dispatcher('config', require.resolve('@micro-app/test/config'));
// // 配置全局 helper
// app.$dispatcher('helper', require.resolve('@micro-app/test/helper'));
// // 配置全局 service
// app.$dispatcher('service', require.resolve('@micro-app/test/service'));
// // 配置全局 plugin
// app.$dispatcher('plugin', require.resolve('@micro-app/test/plugin'));
// // 配置全局 middleware
// app.$dispatcher('middleware', require.resolve('@micro-app/test/middleware'));
// 配置路由 router
app.$dispatcher('router', require.resolve('@micro-app/test/router'));return app;
};
```
### 开启 swagger
配置 `.env` 文件,开启 Swagger,只支持 `src/**/*.js` 目录下文件
```conf
DOCS_SWAGGER=true
```通过扩展配置 `DOCS_SWAGGER_ROOT`,可支持其它目录 `path.resolve(process.env.DOCS_SWAGGER_ROOT, '**/*.js')` 目录下文件
```conf
DOCS_SWAGGER_ROOT={{ dirname }}
```配置 swagger 文档,需要在接口方法中增加注释,如下:
```js
// https://www.npmjs.com/package/swagger-jsdoc
/**
* @swagger
* /api/docs/swagger.json:
* get:
* summary: 返回 swagger.json
* description: 返回 json 格式的 swagger.json
* responses:
* 200:
* description: 成功
*/
router.get('/swagger.json', swaggerRoutes.swaggerJson());/**
* @swagger
* /api/docs/swagger:
* get:
* summary: swagger 页面
* description: swagger 展示所有接口
* responses:
* 200:
* description: 成功
*/
router.get('/swagger', swaggerRoutes.swagger());
```> 可参考:https://editor.swagger.io/
访问接口文档
```js
/api/docs/swagger
// or
/api/docs/swagger.json
```