vue系列之koa框架

Posted 晨希小站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue系列之koa框架相关的知识,希望对你有一定的参考价值。


什么是koa框架?




最近看了几个前后端分离项目,他们大多使用了 vue-cli + axios + koa2 + mysql 进行开发,由于之前使用的后端API都是php语言的thinkphp5框架进行编写,对node.js这块了解甚少,经过这几天的研究发现koa这个框架采用javascript语言编写,对前端开发人员特别友好,便深入了解学习了一下,并做出了相关的整理。


koa是一个依赖于node实现的一个新的web框架,它是由express框架的原班人马打造的。它的特点是优雅、简洁、表达力强、自由度高。它更express相比,它是一个更轻量的node框架,因为它所有功能都通过插件实现,这种插拔式的架构设计模式,很符合unix哲学。


koa框架现在更新到了2.x版本,它跟koa1不同,koa1使用的是generator+co.js的执行方式,而koa2中使用了async/await,因此安装在node.js 7.6版本及其以上,如果node版本较低,建议升级或者安装babel-cli,用其中的babel-node来运行本文涉及到的代码。

如何安装koa




1.创建入口文件

首先新建一个名test的文件夹,在文件夹根目录里创建一个名叫app.js的入口文件,在app.js中写入以下内容。


本步骤的意思是,在入口脚本里引用koa框架,并构建实例化,然后我们创建了一个IP:10.30.16.34:3002的本地服务器,对于所有的请求,app都会调用async异步函数进行处理,并返回数据h1元素。

vue系列之koa框架


2.使用npm下载koa框架

Koa 依赖 node v7.6.0 或 ES2015及更高版本和 async 方法支持.,你可以使用自己喜欢的版本管理器快速安装支持的 node 版本。在确认安装了正确的Node版本和npm之后,我们输入以下命令进行安装koa框架:

$ cnpm i koa 

vue系列之koa框架


3.创建package.json配置文件

下载完koa框架之后,我们再test文件夹下创建一个package.json的配置文件,并使用cnpm i 的命令进行下载依赖包,这个文件描述了我们的test文件会用到哪些依赖包,具体的作用下面会讲解,完整的内容如下:

vue系列之koa框架


4.使用node app.js启动koa应用

vue系列之koa框架
vue系列之koa框架


5.使用koa-cors依赖解决端口号和域名不同引起的跨域问题

在日常开发中,经常会因为本地端口号的不同而产生同源策略跨域的情况出现,于是我们使用了koa生态插件的koa-cors解决跨域问题。

vue系列之koa框架


6.怎么连接mysql数据库

这个教程不管node,express,koa都可以用下面方法连接,这里用koa做个参考,以下代码经过优化过,我们在test根目录下创建mysql文件夹并新建index.js文件,在里面输入以下内容。


vue系列之koa框架

在入口文件中引入mysql的index.js文件,并在请求的时候调用mysql.query函数进行查询获取数据库的数据。

重新执行node app.js之后发现已经可以正常获取数据了,如果需要返回值为json格式的话,我们只要把数据挂载到响应体的body上,同时告诉客户端我们返回的是JSON数据,客户端就会按照JSON来解析了:


ctx.set("Content-Type", "application/json")

ctx.body = JSON.stringify(json)

这两段代码到响应返回的事件中去,页面就会返回json格式。


到这里一个完整的koa应用就加载出来了,我们可以通过axios的get或者post请求,传递给koa让他来返回从mysql数据库中获取的数据。

以上是关于vue系列之koa框架的主要内容,如果未能解决你的问题,请参考以下文章

一分钟开始持续集成之旅系列之: Vue + 腾讯云 COS 上传部署

一分钟开始持续集成之旅系列之: Vue + 腾讯云 COS 上传部署

前端框架vue.js系列:Vue.extendVue.component与new Vue

Vue系列教程之Vue进阶

Vue系列教程之Vue进阶

[JavaScript从入门到放弃系列] 高级篇11.Vue.js之路由part2