前后端分离koa2的作用是什么？
如前后端分离项目 vue + axios + koa2 + java（springboot） 使用restful风格api
问题：
1. koa2到底扮演什么角色？具体点就是什么代码应该写在koa2中呢？
2. vue+koa2 前端组合下，路由应该写在哪里呢？vue-router？ koa？ koa-router？，如果vue和koa2中写两次路由意义在哪里？
3. 有人说的一个场景，后台一般不会把数据根据前端展示字段包装，而是一坨扔过来，然后用koa2进行拆解整合，在给vue显示，这算koa2存在的一个理由么？
4. 用 vue-cli 生成一个项目， 其实就都可以实现前端要求了包括node服务器、webpack等，那么极端点说：在加上axios就都可以啦，koa2没用啊......
1.你用vue-cli生成的项目里的koa只是在开发环境里有用，模拟server，在生产环境里是不需要koa的
2.一般的前后端分离的项目也很少需要在前端后后端java之间加一层node，也就是koa，除非是像淘宝这种，需要首屏优化或者有强烈的seo需求的，需要浏览器请求到的就是可以直接展示的静态页面的，或者是后端java提供的api不能直接给前端展示的，需要经过转换的，才会需要node中间层
3.vue-router是前端路由，是在浏览器里执行的，url改变，切换不同的页面，而 koa-router主要是针对服务端的，对于api的路由