[Plugin] koa adapter plugin for micro-app.
Micro APP 依赖 Koa 插件.
yarn add @micro-app/plugin-koa
or
npm install -D @micro-app/plugin-koa
'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,
},
};
分发调用指定的模块,其中 router
为必须项
'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;
};
配置 .env
文件,开启 Swagger,只支持 src/**/*.js
目录下文件
DOCS_SWAGGER=true
通过扩展配置 DOCS_SWAGGER_ROOT
,可支持其它目录 path.resolve(process.env.DOCS_SWAGGER_ROOT, '**/*.js')
目录下文件
DOCS_SWAGGER_ROOT={{ dirname }}
配置 swagger 文档,需要在接口方法中增加注释,如下:
// 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());
访问接口文档
/api/docs/swagger
// or
/api/docs/swagger.json