【前端】从零开始的搭建顺序指南(技术栈:Node.js + Express + MongoDB + React)book-management

项目路径总结

后端结构
复制代码
server/
├── controllers/          # 业务逻辑
│   ├── authController.js
│   ├── bookController.js
│   ├── genreController.js
│   └── userController.js
├── middleware/          # 中间件
│   ├── authMiddleware.js
│   ├── validateMongoIdMiddleware.js
│   └── validatePaginationMiddleware.js
├── models/              # 数据库模型
│   ├── book.js
│   ├── genre.js
│   └── user.js
├── routes/              # API路由
│   ├── auth.js
│   ├── book.js
│   ├── genre.js
│   └── index.js
├── utils/               # 工具函数
├── .env                 # 环境变量
├── server.js            # 主入口文件
└── package.json         # 依赖配置
前端结构(React+Vite)
复制代码
client/
├── src/
│   ├── components/
│   │   ├── Book/        # 图书组件
│   │   │   ├── BookForm.jsx
│   │   │   ├── BookItem.jsx
│   │   │   └── BookList.jsx
│   │   └── Genre/       # 分类组件
│   │       ├── GenreDeleteConfirm.jsx
│   │       ├── GenreForm.jsx
│   │       └── GenreList.jsx
│   ├── pages/           # 页面组件
│   │   ├── Home.jsx
│   │   ├── Login.jsx
│   │   └── ...
│   ├── App.jsx          # 根组件
│   └── main.jsx         # 应用入口
├── .env
└── package.json

从零开始的搭建顺序指南(技术栈:Node.js + Express + MongoDB + React)

后端搭建顺序(关键路径优先)
  1. 初始化项目

    bash 复制代码
    mkdir book-management && cd book-management
    mkdir server && cd server
    npm init -y
    npm install express mongoose dotenv cors
  2. 基础架构搭建

    • 创建 server.js 配置Express基础服务
    javascript 复制代码
    require('dotenv').config();
    const express = require('express');
    const app = express();
    app.use(express.json());
    app.listen(process.env.PORT || 3000);
  3. 数据库连接

    • models/ 下创建Mongoose模型(建议顺序):
    1. user.js(用户系统是其他功能的基础)
    2. genre.js(图书分类)
    3. book.js(依赖分类和用户)
  4. 路由与控制器开发顺序

    auth路由 user路由 genre路由 book路由

  5. 中间件开发

    • 先实现 authMiddleware.js(JWT验证)
    • 再开发数据验证类中间件
前端搭建顺序(组件驱动开发)
  1. 初始化Vite+React项目

    bash 复制代码
    cd .. && npm create vite@latest client --template react
    cd client && npm install @mantine/core @mantine/hooks axios react-router-dom
  2. 开发顺序建议

    配置路由 实现Auth上下文 登录/注册页面 分类管理 图书管理

  3. 组件开发优先级

    1. 先完成 Layout.jsx 和路由配置
    2. 开发 GenreList.jsx + GenreForm.jsx
    3. 开发 BookList.jsx + BookForm.jsx
    4. 最后实现特殊页面(如数据统计)
联调阶段关键点
  1. 先在Hoppscotch测试所有API端点
  2. 前端使用axios创建统一的API客户端
  3. 开发顺序:
    • 先实现数据获取(GET请求)
    • 再实现数据修改(POST/PUT/DELETE)
    • 最后处理文件上传等特殊功能
调试工具推荐
  1. 后端:
    • VS Code REST Client插件(测试API)
    • MongoDB Compass(查看数据)
  2. 前端:
    • React Developer Tools
    • 浏览器Network面板监控API请求
典型开发流程示例(以图书管理为例)
  1. 后端:
    • 创建 models/book.js
    • 开发 controllers/bookController.js(CRUD操作)
    • 配置 routes/book.js
  2. 前端:
    • 创建 BookList.jsx(展示数据)
    • 开发 BookForm.jsx(表单提交)
    • 在页面组件中组合使用

建议在 .env 中统一配置:

env 复制代码
# 后端
MONGO_URI=mongodb://localhost:27017/bookdb
JWT_SECRET=your_secure_key

# 前端
VITE_API_BASE_URL=http://localhost:3000/api
相关推荐
来自星星的坤10 分钟前
【Vue 3 + Vue Router 4】如何正确重置路由实例(resetRouter)——避免“VueRouter is not defined”错误
前端·javascript·vue.js
香蕉可乐荷包蛋4 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务5 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
liuyang___6 小时前
第一次经历项目上线
前端·typescript
西哥写代码6 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木6 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js
FungLeo7 小时前
node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示
前端·非对称加密·rsa 加密·node 后端
不灭锦鲤7 小时前
xss-labs靶场第11-14关基础详解
前端·xss
不是吧这都有重名7 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端
霸王蟹7 小时前
React中巧妙使用异步组件Suspense优化页面性能。
前端·笔记·学习·react.js·前端框架