Koa是一个基于Node.js平台的Web开发框架。
它是由我们所熟知的Express的原班人马打造出来的。但是它在Web应用以及API开发中,通过async以及await函数进行异步的操作。并且Koa没有捆绑任何一个中间件。所以本身是十分精简以及方便的。
-
如果要使用Koa的话,因为Koa是依赖于NodeJs的,所以我们要保证Nodejs的版本在v7.6.0或者ES2015及更高版本的支持。
-
当然如果Nodejs版本小于7.6的话要使用async的语法,官方也给出了相应的解决方法。就是使用babel's require hook。
require('babel-register');
// 应用的其余 require 需要被放到 hook 后面
const app = require('./app');
- 要解析和编译 async 方法, 你至少应该有 transform-async-to-generator 或 transform-async-to-module-method 插件.
{
"plugins": ["transform-async-to-generator"]
}
本次我们首先是进行Hello Wolrd的操作。
在创建Koa项目的时候我们可以有多种方法进行创建。
- 可以使用koa-generator的方法直接创建一套项目,内部的话会有Koa开发接口所需要的依赖文件。新手的话建议使用generator的方法来进行创建,因为基本上模版引擎、以及接口案例都有的,可以照着样子来学。
- 第二种方法则是我们从新建一个app.js作为入口文件一步一步的进行自由拓展。
使用Koa进行Hello world来开启新世界。(使用的为koa-generator的方法进行项目的创建)koa-generator
/* 首先我们要安装一下全局的脚手架 */
npm install -g koa-generator
//然后使用
koa2 -e 项目名称
- 然后我们进入创建的目录中进行依赖的安装
/* cd myproject */
npm install
/* 如果依赖安装出现错误的话,大概率是因为网络问题。
npm镜像源在国外,我们可以通过调整npm镜像源的方式进行解决 */
npm config set registry https://registry.npm.taobao.org
在命令行中运行如上代码,即可更改为国内镜像源。
-
紧接着我们在代码编辑器里面查看,就可以看到其目录结构啦。
结构目录
- 首先 bin 目录为启动文件,node_modules为依赖文件,public为静态资源目录,routes为我们Koa的路由操作,views是我们的ejs模板引擎文件。
-
package.json中我们可以看到当前目录中scripts的部分操作。start为运行,dev是我们的开发环境,prd就是我们的生产版本、test为测试。
package.json
-
接下来我们尝试进行运行它。通过使用npm run dev的方法进入到开发环境中。然后在浏览器中打开localhost:3000来进行访问。它默认访问的就是我们routes下index.js的根路由。
index.js
![](https://img.haomeiwen.com/i15722317/cebf572b14ff7f01.png)
- index.js中 router则是我们在头部引入的koa-router,然后下方则是get方法,通过使用async以及await的方法来进行页面的渲染,render则是渲染页面。括号内部的index则是模板引擎的页面文件名称,后方通过传入对象的方式,给模板引擎提供数据。在这个地方我们将title换成Hello World尝试预览。
![](https://img.haomeiwen.com/i15722317/37bbfec4a392e88d.png)
![](https://img.haomeiwen.com/i15722317/da1b3862eba130b5.png)
- 我们本次通过使用Koa来进行Hello World就完成啦。
![](https://img.haomeiwen.com/i15722317/cf02f9920b11a509.jpg)
网友评论