laizimo / zimo-article

:books:博客——源于实践,乐于分享,欢迎Star~
1.06k stars 95 forks source link

搭建koa2的集成环境 #50

Open laizimo opened 6 years ago

laizimo commented 6 years ago

前言

本篇记录了我在搭建整个后端开发环境的整体过程。后端开发环境,从框架选型,到单测环境、规范校验、打包等。其实,GitHub上面具备着纵多的脚手架可以快速搭建出一个后端开发的环境。但是,那样操作其实并没有实际的效果,只能满足快速开发而已。如果你喜欢我的文章,欢迎评论,欢迎Star~。欢迎关注我的github博客

正文

首先,我们需要确定开发环境主体的框架,我的选择时koa2,虽然需要去满足nodeJS大于7.6.0以上,但是其利用了ES7中的async/await,实在是令人满意。最大的优势就是服务器上的nodeJS版本是我们所控制的。如果你不清楚如何控制nodeJS版本的话,可以安装nvm来进行node版本的切换。

搭建项目目录

开始创建一个空项目文件夹,命名为koa-scaffold:

mkdir koa-scaffold

然后进入新创建的文件目录中:

cd koa-scaffold

然后,我们可以初始化package.json文件

npm init -y

同时,我们还需要去创建一些空文件目录,统一整体的开发目录:

mkdir -p server/{routes,db,controllers,models,services} test

最后,安装koa2:

npm install --save koa

数据库

这里所使用的数据库是MongoDB,不过听说它的模糊查询并(qi)不(shi)优(la)秀(ji)。但是,考虑到操作方便,而且作为前端的开发者,接触到MongoDB这种NoSQL型数据库是迟早的事情。所以,我们会选择mongoose这个数据库连接库,如果你使用的是其他的数据库的话,那么我推荐knex.js。(有兴趣了解可以自行Google)

安装mongoose:

npm install --save mongoose

然后,我们进行一下测试,在test目录下建立一个dbtest.js文件:

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhose/test');

const db = mongoose.connection;

db.on('error', (err) => {
  console.log('connection error: ' + err);
});

db.on('open', () => {
  console.log('connection success!');
});

通过这段代码,然后运行一下dbtest.js。之后,我们会发现我们的本地MongoDB中多了test数据库名。

测试

这里的测试选择了mocha和chai,不需要追求原因。因为就目前前端的测试框架良莠不齐,种类繁多,但是可以说前端工程师,却很少做单测之类的事情。所以,测试框架可以根据自己的喜好来决定。

这里选用了一下一套测试框架:

Mocha: 它是一个Javascript测试框架。你可以使用它来自动化测试你的代码

Chai:这是Javascript的一个断言库。

ChaiHTTP:这是Chai的一个插件

安装过程:

npm install mocha chai chai-http --save-dev

然后,在package.json中配置script字段:

"script": {
    "test": "mocha"
}

这里需要大家熟悉mocha+chai的用法,具体可上官网查看

结尾

本篇文章大致分析了一下,我们需要在搭建一个后端集成环境时的选择方向。 参考文章An Introduction to Building TDD RESTful APIs with Koa 2, Mocha and Chai

如果你对我写的有疑问,可以评论,如我写的有错误,欢迎指正。你喜欢我的博客,请给我关注Star~呦。大家一起总结一起进步。欢迎关注我的github博客