# nodeExpress **Repository Path**: neversettle666/nodeExpress ## Basic Information - **Project Name**: nodeExpress - **Description**: node+express+sequelize+mysql模板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-29 - **Last Updated**: 2025-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 更新日志 - 2025-10-30 - 增加大文件上传接口 - `/api/upload/chunked` 接口,上传分片 - `/api/upload/merge` 接口,合并分片 - `/api/upload/verify` 接口,校验已上传的分片 - 增加 websocket 接口 - 2025-10-29 初始化模板,增加用户注册、登录接口 # 项目名称 nodeExpress ## 项目概述 这是一个在 express 脚手架基础上搭建的 node+express+sequelize+mysql 服务端,旨在创建一个可重复使用的模板。项目的核心特性包括: - 提供连接 mysql 数据库的功能 - 提供用户注册、登录功能 - 提供文件上传功能 - 提供日志记录功能 ### 基本介绍 利用 express 脚手架搭建,再此基础上利用 sequelize 连接 mysql 数据库,主要分三层:dao 层、model 层、service 层,其中 dao 层负责与数据库打交道,model 层负责定义数据表结构,service 层负责业务逻辑处理。利用 express 框架提供的中间件,如 cors、body-parser、multer 等,实现跨域、文件上传等功能,利用 winston morgan winston-daily-rotate-file 等日志中间件,实现日志记录功能。 ## 目录说明 ``` nodeExpress/ |—— bin/ | └── www.js # 项目启动文件 ├── dao/ # 数据库相关文件 │ └── userDao.js # 负责与数据库打交道(查询数据库可理解为sql语句) ├── model/ # 模型文件,后续其他表都可在该目录下增加 │ └── userModel.js # 用户模型(数据库user表字段) ├── db/ # 数据库相关文件 │ ├── dbConnect.js # 数据库连接文件 │ └── db.js # 同步数据库模型 |—— files/ # 文件保存目录 |—— logs/ # 日志存放目录 | └── audit.json # 日志配置文件 | └── access.log # 网络请求日志 | └── app-xxxx-xx-xx.log # 某一天的应用日志 | └── error.log # 错误日志 |—— middleware/ # 中间件 | └── checkSessionId.js # 校验sessionId,实现单点登录 | └── cors.js # 跨域设置 |—— public/ # 静态文件目录(express脚手架自带) ├── routes/ # 路由相关文件 │ ├── upload.js # 文件上传相关路由(api) │ └── user.js # 用户相关路由(api) ├── service/ # 业务处理层 │ ├── uploadService.js # 处理文件上传 │ └── userService.js # 处理用户相关业务 ├── utils/ # 工具相关文件 | ├── config.js # 一些配置 │ ├── logger.js # 日志记录工具 | └── tools.js # 一些工具函数 │ └── error.js # 封住的错误处理 ├── views/ # express脚手架自带 ├── app.js # 应用入口文件 ├── .env # 生产环境变量 ├── .env.dev # 开发环境变量 ├── .env.test # 测试环境变量 ``` ## 运行方法 1. 安装依赖: ```bash npm install ``` 2. 运行项目: ```bash npm dev ```