开发中经常需要编写一些服务器测试脚本,测试自己的应用,且一些第三方服务器应用也可以基于noejs部署到服务器,学习基本的nodejs编程是有必要的。

nodejs编写服务端接口,用koa做主要框架,加入一些必要的中间件,并进行RESTful架构,搭建一个脚手架,项目地址 https://github.com/blackist/node-koa-restful

Quick Start


clone此项目,项目结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
├─.gitignore
├─controller.js
├─package-lock.json
├─package.json
├─README.md
├─server.js
├─service
| └UserService.js
├─model
| └User.js
├─controller
| ├─UserController.js
| ├─upload
| | └UploadController.js
├─conf
| └db.js
├─common
| ├─UploadFile.js
| ├─util
| | └response.js
| ├─error
| | ├─error-code.js
| | ├─error-common.js
| | └error-msg.js

建立名为node-koa的MySQL数据库,可先修改数据库配置信息,在。conf/db.js里,配置信息如下:

1
2
3
4
5
6
7
8
9
10
// node-koa 为数据库名称
module.exports = new Sequelize('node-koa', 'root', 'root', {
host: '127.0.0.1',
dialect: 'mysql',
pool: {
max: 20,
min: 0,
idle: 10000
}
})

进入项目目录运行

1
2
3
4
5
6
7
8
# Command line cd project directory
cd node-koa-restful

# install dependencies
npm install

# node run
node server.js

初始化日志如下

接口访问 http://localhost:8080/v1/users/ids

框架解析


koa-router

koa-router作为请求转发路由