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元素。
2.使用npm下载koa框架
Koa 依赖 node v7.6.0 或 ES2015及更高版本和 async 方法支持.,你可以使用自己喜欢的版本管理器快速安装支持的 node 版本。在确认安装了正确的Node版本和npm之后,我们输入以下命令进行安装koa框架:
$ cnpm i koa
3.创建package.json配置文件
下载完koa框架之后,我们再test文件夹下创建一个package.json的配置文件,并使用cnpm i 的命令进行下载依赖包,这个文件描述了我们的test文件会用到哪些依赖包,具体的作用下面会讲解,完整的内容如下:
4.使用node app.js启动koa应用
在日常开发中,经常会因为本地端口号的不同而产生同源策略跨域的情况出现,于是我们使用了koa生态插件的koa-cors解决跨域问题。
6.怎么连接mysql数据库
这个教程不管node,express,koa都可以用下面方法连接,这里用koa做个参考,以下代码经过优化过,我们在test根目录下创建mysql文件夹并新建index.js文件,在里面输入以下内容。
在入口文件中引入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 上传部署