Node.js 环境下配置后端的攻略步骤:

API:

  1. 安装 Apifox 工具,用于创建和管理接口文档。
  2. 分析需求,确定需要多少个接口以及接口的类型(GET、POST、PUT、DELETE 等)。
  3. 在 Apifox 中创建接口文档,包括接口的 URL、请求参数、响应数据等详细信息。

服务器:

  1. 安装 Node.js:下载并安装 Node.js 运行时环境。
    node -v 这个命令在cmd中将显示Node.js的版本号
  2. 安装和配置 MongoDB:下载并安装 MongoDB 数据库,并启动 MongoDB 服务。
  3. 创建项目文件夹:在命令行中创建一个项目文件夹。
    npm init -y 初始化项目并创建package.json文件
  4. 在命令行中使用适合的包管理器(如 npm 或 yarn)安装 Express 和 Mongoose,这些是常用的 Node.js 框架和 MongoDB 的 ORM。
    npm install express 安装express
    npm install mongoose 安装mongoose
  5. 创建一个配置文件:在项目文件夹中创建一个配置文件,例如 xxx.js,并在该文件中导入 Express、path 和 Mongoose 模块,并导入数据模型。
    node 进入node环境
    .save xxx.js 创建js文件
// 导入模块
const express = require("express");
const path = require("path");
const mongoose = require("mongoose");
const User = require("User")
  1. 在配置文件中,创建一个 Express 应用实例并声明端口号。
// 导出express模块和定义端口号
const app = express();
const port = 3000;
  1. 使用 Mongoose 的 connect 方法连接到 MongoDB 数据库。
// 链接MongoDB数据库
mongoose.connect("mongodb://localhost:27017/mydb", {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});

const db = mongoose.connection;

db.on("error", (err) => {
  console.error("MongoDB 链接失败:", err);
});

db.once("open", () => {
  console.log("成功链接到 MongoDB 数据库");
});
  1. 配置静态文件中间件:使用 Express 的 use 方法在应用中添加静态文件中间件,以便向客户端提供静态文件(如图片、CSS 文件等)。
// 拼接静态文件路径和解析请求的JSON数据
app.use(express.static(path.join(__dirname, "pet2")));
app.use(express.json());
  1. 定义路由:使用 Express 的路由方法(如 getpostpatchdelete 等)定义路由处理程序,处理来自客户端的请求,并执行相应的操作(如数据库查询、数据修改等)。
// 主页路由
app.get("/", (req, res) => {
  res.sendFile(path.join(__dirname, "pet2", "index.html"));
});

// 创建用户路由
app.post('/users', async (req, res) => {
  try {
    const { account, password } = req.body;
    const user = new User({ account, password });
    await user.save();
    res.status(201).json(user);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// 获取所有用户路由
app.get('/users', async (req, res) => {
  try {
    const users = await User.find();
    res.json(users);
  } catch (err) {
    res.status(500).json({ message: err.message });
  }
});

// 获取单个用户路由
app.get('/users/:id', getUser, (req, res) => {
  res.json(res.user);
});

// 更新用户路由
app.patch('/users/:id', getUser, async (req, res) => {
  if (req.body.account) {
    res.user.account = req.body.account;
  }

  if (req.body.password) {
    res.user.password = req.body.password;
  }

  try {
    const updatedUser = await res.user.save();
    res.json(updatedUser);
  } catch (err) {
    res.status(400).json({ message: err.message });
  }
});

// 删除用户路由
app.delete('/users/:id', getUser, async (req, res) => {
  try {
    await res.user.remove();
    res.json({ message: 'User deleted' });
  } catch (err) {
    res.status(500).json({ message: err.message });
  }
});
  1. 配置中间件:根据需要,可以使用 Express 中间件处理特定请求或执行某些操作。例如,可以创建一个中间件函数用于获取单个用户信息,并在路由处理程序中使用该中间件。
// 中间件 - 获取单个用户
async function getUser(req, res, next) {
  try {
    const user = await User.findById(req.params.id);
    if (!user) {
      return res.status(404).json({ message: 'User not found' });
    }
    res.user = user;
    next();
  } catch (err) {
    return res.status(500).json({ message: err.message });
  }
}
  1. 配置错误处理中间件:使用 Express 的错误处理中间件来处理应用中的错误,例如 404 错误或服务器错误。
// 404 错误处理中间件
app.use((req, res, next) => {
  res.status(404).sendFile(path.join(__dirname, "pet2", "404.html"));
});

// 服务器错误处理中间件
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send("Internal Server Error");
});
  1. 在额外的 JavaScript 文件中,使用 Mongoose 定义数据模型,以便在应用中操作和访问数据库中的数据。
// 导入mongoose
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

// 使用Schema方法创建数据模型
const userSchema = new Schema({
  account: {
    // 类型:字符串
    type: String,
    // 必须:真
    required: true
  },
  password: {
    type: String,
    required: true
  }
});

// 创建用户模型并导出
const User = mongoose.model('User', userSchema);
module.exports = User;
  1. 运行程序 node xxx.js
app.listen(port, () => {
  console.log(`应用程序正在监听端口 ${port}`);
});

数据库:

  1. 打开 MongoDB Compass(或使用命令行工具),新建一个数据库,并提供一个名称。
  2. 使用 JavaScript 编写数据集合的定义,将数据集合的字段、数据类型和约束条件保存到一个对象中,并将该对象封装为一个 JSON 对象。
  3. 使用 MongoDB 命令或 Compass 工具将数据集合导入到数据库中。