手写node服务器

213 阅读1分钟
  • 实现数据库的增删查改操作
  • 实现统一的路由分发处理

文件目录结构

项目准备

安装插件

  • npm install koa koa2-cors koa-bodyparser mysql moment koa-router
  • 数据库创建表格   

实现思路

  • 使用koa开启一个端口
  • 创建一个统一的数据库的线程池
  • 实现路由分发,执行对应操作
  • 处理跨域请求
  • exception hanlding
  • ORM(已经使用sequelize实现数据库抽象,具体代码可查看git地址)

具体代码

项目地址

项目中遇到的问题及解决方法

遇到的问题

  1. 在查询所有订单的时候报了一个错误
  2. 跨终端请求数据产生跨域
  3. 无法获取请求体
  4. try catch减少多级嵌套
  5. exception hanlding的使用
  6. put和post方法(幂等意思)

解决方法

  1. 在创建订单表的时候使用了order作为表名,order与查询语句的关键字冲突导致错误,更换表名解决
  2. 使用koa2-cors解决
  3. 使用koa-bodyparser中间件(可以解析通过post来传递的表单,json数据,或者上传文件)

总结

这次的项目虽然只是一个练手项目,但是在把后端代码基本写完后,导师给我提了一些建议,这些建议基本都是希望我把代码写的更加的优美且通用。当然,我也确实觉得自己写的代码不优美,感觉想要把代码写得优美最重要的还是得多练,希望后面可以把代码写的更好吧,同时希望大家能不吝惜赐教,共勉!