前后端分离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没用啊......

求大佬解惑,谢谢。

阅读 9.8k
2 个回答

1.你用vue-cli生成的项目里的koa只是在开发环境里有用,模拟server,在生产环境里是不需要koa的
2.一般的前后端分离的项目也很少需要在前端后后端java之间加一层node,也就是koa,除非是像淘宝这种,需要首屏优化或者有强烈的seo需求的,需要浏览器请求到的就是可以直接展示的静态页面的,或者是后端java提供的api不能直接给前端展示的,需要经过转换的,才会需要node中间层
3.vue-router是前端路由,是在浏览器里执行的,url改变,切换不同的页面,而 koa-router主要是针对服务端的,对于api的路由

Koa是类express库一样的东西,也就是一个web服务。感觉很少会有在 Koa 里面获取数据,然后渲染出静态html,毕竟获取数据是个耗时的过程,现在通常的做法是先加载html,然后异步请求数据。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题