Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

搭建koa2的集成环境 #50

Open
laizimo opened this issue Jan 9, 2018 · 0 comments
Open

搭建koa2的集成环境 #50

laizimo opened this issue Jan 9, 2018 · 0 comments

Comments

@laizimo
Copy link
Owner

laizimo commented Jan 9, 2018

前言

本篇记录了我在搭建整个后端开发环境的整体过程。后端开发环境,从框架选型,到单测环境、规范校验、打包等。其实,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博客

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant