1、目录

image.png

安装: npm i koa koa-router koa-bodyparser koa2-cors jsonwebtoken

2、启动页

server/app.js

  1. var Koa = require('koa');
  2. var Router = require('koa-router');
  3. var bodyParser = require('koa-bodyparser');
  4. var fs = require('fs');
  5. const cors = require('koa2-cors');
  6. var app = new Koa();
  7. var router = new Router();
  8. // 设置头部信息
  9. app.use(
  10. cors({
  11. origin: function(ctx) {
  12. return '*'; //cors
  13. },
  14. exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
  15. maxAge: 5,
  16. credentials: true,
  17. allowMethods: ['GET', 'POST'],
  18. allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
  19. })
  20. );
  21. // 1. fs文件模块读取routes文件夹目录内容(获得的是一个文件名的数组)
  22. // 2. 数组遍历,引入接口文件,将文件名作为路由名,注册使用路由
  23. // 3. 使用: /list/getList
  24. let urls = fs.readdirSync(__dirname + '/routes');
  25. urls.forEach((element) => {
  26. //routes里的js接口文件
  27. let module = require(__dirname + '/routes/' + element);
  28. //routes里的文件名作为 路由名
  29. router.use('/' + element.replace('.js', ''), module.routes());
  30. });
  31. //使用路由中间件
  32. app
  33. .use(router.routes())
  34. .use(router.allowedMethods())
  35. .use(bodyParser());
  36. app.listen(8000);
  37. console.log('监听8000');

3、路由

server/routes/user.js

  1. var Koa = require('koa');
  2. var Router = require('koa-router');
  3. var bodyParser = require('koa-bodyparser');
  4. var fs = require('fs');
  5. const cors = require('koa2-cors');
  6. var app = new Koa();
  7. var router = new Router();
  8. // 设置头部信息
  9. app.use(
  10. cors({
  11. origin: function(ctx) {
  12. return '*'; //cors
  13. },
  14. exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
  15. maxAge: 5,
  16. credentials: true,
  17. allowMethods: ['GET', 'POST'],
  18. allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
  19. })
  20. );
  21. // 1. fs文件模块读取routes文件夹目录内容(获得的是一个文件名的数组)
  22. // 2. 数组遍历,引入接口文件,将文件名作为路由名,注册使用路由
  23. // 3. 使用: /list/getList
  24. let urls = fs.readdirSync(__dirname + '/routes');
  25. urls.forEach((element) => {
  26. //routes里的js接口文件
  27. let module = require(__dirname + '/routes/' + element);
  28. //routes里的文件名作为 路由名
  29. router.use('/' + element.replace('.js', ''), module.routes());
  30. });
  31. //使用路由中间件
  32. app
  33. .use(router.routes())
  34. .use(router.allowedMethods())
  35. .use(bodyParser());
  36. app.listen(8000);
  37. console.log('监听8000');

server/routes/list.js

  1. var Router = require('koa-router');
  2. var router = new Router();
  3. router.get('/getList', (ctx, next) => {
  4. let id = ctx.request.params.id;
  5. ctx.body = {
  6. id,
  7. code: 1,
  8. };
  9. });
  10. router.post('/submit', (ctx) => {
  11. ctx.body = {
  12. code: 1,
  13. postParams: ctx.request.body,
  14. };
  15. });
  16. module.exports = router;