NodeJS 分层思考

思考 在node里如何对代码进行分层

M.V.C

背景

最近为了学习和实践感兴趣的技术,换了一份比较辛苦的工作,待遇也没有涨,但幸好技术上能够比较多的沉淀.
用node来接入现有的项目(PHP).

DB - 由于现有数据库已经建立好了,如果用ORM可能会导致一些问题. 基本没有Model层的概念了
View - 采取前后端分离的方式,所有view层基本和node没啥大关系了 (react/vue)

所以现有的Express 基本就是一个纯业务的Controller层了.
但是这么写代码会很乱. 所以我将一些分层稍微做了点区分

  1. router部分,包含基本的参数校验,后面大段的业务放到controller里面

  2. controller里面业务会非常复杂,所以根据模块调用不同的service来组合.这里不直接和DB有关联

  3. service方法里根据业务需要提供 数据集合

后期在git上放出示例代码.这里只是做些总结.补充下,TS真的很不错

如果加上ORM的话应该会比较完整.

  • Model层获取基本属性
  • service获取业务组合数据