这是一个系列课程,从0到1,实现一个简易node版的serverless
服务
本篇为 01-基本框架搭建
说明
我们的项目基础选用koa
,具体为什么是koa
- 相比于
express
,koa
的异步处理更加的好 - 相比于
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
中的热更新比较类似
相关教程
监听文件并启动文件(命名行)
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"]
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。