使用Koa搭建服务端程序API - 搭建目录结构和编写入口文件(一)

873 阅读2分钟

因为有了NodeJs使我们前端开发的工作越来越丰富多彩(xin lei),现在前端开发貌似都需要会NodeJs。随着ES6+的,我们可以更优雅的处理回调地狱,下面我将使用Koa2来一步步搭建一个服务端项目

搭建项目目录结构

初始化项目

npm init -y //初始化一个基于npm依赖的项目

安装所需要的依赖

npm install koa koa-router koa-bodyparser mysql2 sequelize nodemon -D

  • koa NodeJs框架
  • koa-router koa路由中间件
  • koa-bodyparser koa解析body体中间件
  • mysql2 NodeJs连接操作mysql库
  • sequelize Node操作数据库 orm库
  • nodemon 用于开发环境下热重启

搭建基础目录结构

.
├── app.js //入口文件
├── conf   //配置文件
├── db  // 数据库配置和数据模型
├── package.json 
├── routes  //路由
├── service //数据处理层
└── utils  //封装的函数和方法

编写入口文件app.js


const Koa = require('koa')
const app = new Koa() //实例化Koa
const body = require('koa-bodyparser')
const Router = require('koa-router')
const router = new Router() //实例化路由中间件

//使用 koa-bodyparser中间
app.use(body())

//编写第一个路由
router.get('/', ctx => {
  ctx.body = 'hello word'
})

//使用路由中间件
app.use(router.routes())

//启动http服务 并在3000端口上运行
app.listen(3000, () => {
  console.log('service is running on port 3000')
})



  • koa-bodyparser中间件的使用需要放在路由中间件的上面 因为中间件的使用是有顺序的
  • ctx 是koa提供的上下文,koa把request和response...等封装进了ctx对象里面

现在一个简单的入口文件和一个简单的路由就编写完成了,现在打开浏览器输入http://127.0.0.1:3000就可以看到hello world了

修改package.json

增加脚本命令

{
  "name""koa-note",
  "version""1.0.0",
  "description""",
  "main""app.js",
  "scripts": {
    "dev""NODE_ENV=dev nodemon app.js"
  },
  "keywords": [],
  "author""",
  "license""ISC",
  "devDependencies": {
    "koa""^2.11.0",
    "koa-bodyparser""^4.3.0",
    "koa-router""^8.0.8",
    "mysql2""^2.1.0",
    "nodemon""^2.0.3",
    "sequelize""^5.21.5"
  }
}


  • 现在增加了一条脚本命令dev
  • NODE_ENV=dev是添加环境变量 以便于区分是生产环境还是开发环境
  • 使用nodemon运行app.js 当我们修改了文件时可以自动重启node服务器

交个朋友吧~~

image