Express项目结构及规范
目录结构
project-name/
├── config/
│ └── config.js
├── controllers/
│ ├── authController.js
│ ├── userController.js
│ └── ...
├── middleware/
│ ├── authMiddleware.js
│ ├── errorMiddleware.js
│ └── ...
├── models/
│ ├── userModel.js
│ ├── productModel.js
│ └── ...
├── routes/
│ ├── authRoutes.js
│ ├── userRoutes.js
│ └── ...
├── utils/
│ ├── helperFunctions.js
│ ├── validator.js
│ └── ...
├── app.js
├── package.json
└── README.md
目录说明
config/ 目录:包含项目的配置文件,如数据库连接字符串、API密钥、环境变量等。
controllers/ 目录:包含所有的控制器,每个控制器处理特定的路由请求,例如:authController、userController等。
middleware/ 目录:包含所有中间件,如身份验证、错误处理、日志记录等。
models/ 目录:包含所有的模型,每个模型代表一个数据库表,例如:userModel、productModel等。
routes/ 目录:包含所有的路由,如:authRoutes、userRoutes等。
utils/ 目录:包含所有辅助功能、共用函数、自定义工具函数等。
规范说明
控制器负责处理HTTP请求,对请求进行解析,调用相关的服务方法进行业务逻辑处理,并返回HTTP响应。
中间件负责拦截HTTP请求,并进行身份验证、错误处理、请求日志记录等处理。
模型负责与数据库交互,包含数据操作的方法,如查询、新增、修改、删除等。
路由负责处理HTTP请求的路由映射和控制器的调用。
辅助功能负责提供一些共用的辅助函数,如加密解密、数据校验、日志记录等。