这是一个系列课程,从0到1,实现一个简易node版的serverless服务
本篇为 01-基本框架搭建

说明

我们的项目基础选用koa,具体为什么是koa

  • 相比于expresskoa的异步处理更加的好
  • 相比于nest,egg等,koa更加的轻便
  • koa特别小,把中间件都外包了,所以针对不同的功能就是选择不同的中间件去使用即可,非常的灵活

    koa 安装

    通过下面的几行代码,我们就能创建一个最简单的服务

    npm i koa
    const Koa = require('koa')
    const app = new Koa()
    app.use((ctx,next)=>{
      ctx.body = 'hello world'
      next()
    })
    app.listen(8888)

参数的处理

说明

由于koa的设计理念就是只提供最基本的功能,不集成任何多余的插件,所有的中间件都要自己安装
因此在后去post的参数方面,原生的方面也是比较麻烦
所以借助中间件处理
koa获取get和post请求的参数

安装中间件处理POST的参数

最后处理结果会把post参数放到ctx.request.body

npm i koa-bodyparser
const bodyParser = require('koa-bodyparser')
app.use(bodyParser())

问题

// 奇怪:在使用了koa-badyparser之后 为啥打印ctx.request 里面看不到 body,但是取值却是有的
console.log('ctx ~~~body',ctx.request)

method

ctx.request.method

url

ctx.request.url

args (请求参数)

如果是GET请求,那么取 ctx.query
如果是POST请求,那么取 ctx.request.body

nodeman 的使用

每次我们修改一点内容,都需要重新启动node服务来测试是否正确
这样非常的不方便,效率也不高

这个时候我们可以使用nodeman
它的功能是监听某些指定的目录或则文件,当其发生变化的时候,nodeman便会立即执行 指定的启动命令
这一点跟webpack中的热更新比较类似
相关教程

Nodemon 简介、安装、使用和配置

监听文件并启动文件(命名行)

nodeman --watch src  index.js

监听后缀名并启动文件(命令行)

nodeman --ext js,json 

组合(命令行)

nodeman --watch src --ext js.json index.js

配置文件

    "start": "nodemon -x npm run server",
    "server": "node index"
{
  "env": {
    "NODE_ENV": "development"
  },
  "watch": ["*.js", "*.json"],
  "ignore": ["package*.json", "nodemon.json", "node_modules", "public"]
}

三年三月
7 声望0 粉丝

« 上一篇
0.开篇