返回

后端项目搭建教程:畅游 Node.js + MySQL 的海洋

前端

后端项目搭建之旅:扬帆起航,乘风破浪

起航:准备工作

踏上后端项目的航程之前,让我们做好充足的准备。首先,我们要准备好工具包,安装必要的 Node.js 模块。这些模块将为我们的项目注入活力。

  1. 安装 Node.js 和 npm:
# 安装 Node.js
node -v
# 检查 Node.js 版本

npm -v
# 检查 npm 版本

# 安装必要的 npm 模块
npm install express mysql sequelize
  1. 创建数据库:

现在,我们需要为我们的项目创建一个 MySQL 数据库。打开 MySQL Workbench 或其他趁手的数据库管理工具,创建一个名为 "my_database" 的数据库。

  1. 连接数据库:

为了让我们的 Node.js 项目能够与 MySQL 数据库对话,我们需要建立数据库连接。在项目根目录下创建一个名为 "config.js" 的文件,并输入以下代码:

const mysql = require('mysql2');

const db = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'my_database'
});

module.exports = db;

扬帆远航:搭建后端项目

万事俱备,只欠东风。让我们开始搭建我们的后端项目吧!

  1. 创建项目结构:

在项目根目录下创建以下文件夹和文件:

├── app.js
├── controllers
│   └── todo.controller.js
├── models
│   └── todo.model.js
├── routes
│   └── todo.route.js
├── views
│   └── todo.pug
  1. 定义模型:

在 "models/todo.model.js" 文件中,定义我们的 Todo 模型:

const Sequelize = require('sequelize');
const db = require('../config');

const Todo = db.define('todo', {
  title: {
    type: Sequelize.STRING,
    allowNull: false
  },
  completed: {
    type: Sequelize.BOOLEAN,
    defaultValue: false
  }
});

module.exports = Todo;
  1. 定义控制器:

在 "controllers/todo.controller.js" 文件中,定义我们的 Todo 控制器:

const Todo = require('../models/todo.model');

exports.createTodo = async (req, res) => {
  const { title } = req.body;
  const todo = await Todo.create({ title });
  res.status(201).json(todo);
};

exports.getTodos = async (req, res) => {
  const todos = await Todo.findAll();
  res.status(200).json(todos);
};

exports.getTodoById = async (req, res) => {
  const { id } = req.params;
  const todo = await Todo.findByPk(id);
  if (!todo) {
    return res.status(404).json({ message: 'Todo not found' });
  }
  res.status(200).json(todo);
};

exports.updateTodo = async (req, res) => {
  const { id } = req.params;
  const { title, completed } = req.body;
  const todo = await Todo.findByPk(id);
  if (!todo) {
    return res.status(404).json({ message: 'Todo not found' });
  }
  todo.title = title;
  todo.completed = completed;
  await todo.save();
  res.status(200).json(todo);
};

exports.deleteTodo = async (req, res) => {
  const { id } = req.params;
  const todo = await Todo.findByPk(id);
  if (!todo) {
    return res.status(404).json({ message: 'Todo not found' });
  }
  await todo.destroy();
  res.status(200).json({ message: 'Todo deleted successfully' });
};
  1. 定义路由:

在 "routes/todo.route.js" 文件中,定义我们的 Todo 路由:

const express = require('express');
const router = express.Router();
const todoController = require('../controllers/todo.controller');

router.post('/todos', todoController.createTodo);
router.get('/todos', todoController.getTodos);
router.get('/todos/:id', todoController.getTodoById);
router.put('/todos/:id', todoController.updateTodo);
router.delete('/todos/:id', todoController.deleteTodo);

module.exports = router;
  1. 定义视图:

在 "views/todo.pug" 文件中,定义我们的 Todo 视图:

extends layout

block content
  h1 Todo List
  ul
    each todo in todos
      li
        input(type='checkbox', checked=todo.completed)
        label #{todo.title}
        a(href=`/todos/${todo.id}`, class='btn btn-primary') Edit
        a(href=`/todos/${todo.id}`, class='btn btn-danger') Delete
  1. 启动项目:

在项目根目录下,运行以下命令启动项目:

node app.js

扬帆起航:点亮项目

我们的后端项目已经搭建完成,让我们给它注入活力吧!

  1. 创建并启动服务器:

在 "app.js" 文件中,创建并启动服务器:

const express = require('express');
const app = express();

// 设置视图引擎
app.set('view engine', 'pug');

// 使用路由
app.use('/todos', require('./routes/todo.route'));

// 启动服务器
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});
  1. 测试 API:

使用 Postman 或其他 API 测试工具,测试我们的 API 是否正常工作。

  1. 访问项目:

在浏览器中输入 "http://localhost:3000",访问我们的项目。

乘风破浪:部署项目

我们的后端项目已经扬帆起航,但我们还需要将其部署到云端,让全世界的人都能访问它。

  1. 选择云平台:

有多个云平台可供选择,例如 Heroku、AWS 和 Google Cloud Platform。选择一个最适合你的平台。

  1. 创建账户:

在所选的云平台上创建一个账户。

  1. 部署项目:

根据所选云平台的说明,将项目部署到云端。

  1. 访问项目:

在浏览器中输入你项目的 URL,访问你的项目。

乘风破浪:维护项目

为了确保项目顺风顺水,你需要定期维护它。

  1. 更新依赖:

随着时间的推移,你使用的依赖可能会发布新版本。你需要定期更新这些依赖,以确保项目正常运行。

  1. 修复漏洞:

软件经常会发现漏洞。你需要及时修复这些漏洞,以保护项目的安全。

  1. 添加新功能:

随着项目的发展,你可能会想要添加新功能。你需要定期添加新功能,以满足用户的需求。

  1. 备份数据:

定期备份项目的数据,以防止数据丢失。

常见问题解答

1. 如何选择合适的云平台?

选择云平台时,需要考虑以下因素:

  • 价格: 不同的云平台提供不同的定价模式。选择最符合你预算的平台。
  • 功能: 不同的云平台提供不同的功能。选择提供你需要的功能的平台。
  • 支持: 不同的云平台提供不同的支持级别。选择提供你需要的支持级别的平台。

2. 如何维护后端项目?

维护后端项目需要以下步骤:

  • 定期更新依赖。
  • 修复漏洞。
  • 添加新功能。
  • 备份数据。

3. 如何部署后端项目到云端?

部署后端项目到云端需要以下步骤:

  • 选择一个云平台。
  • 创建一个账户。
  • 按照云平台的说明部署项目。

4. 如何测试后端 API?

测试后端 API 可以使用以下工具:

  • Postman
  • Insomnia
  • curl

5. 如何使用后端项目?

后端项目通常通过 API 与前端应用程序通信。前端应用程序可以使用 API 来创建、读取、更新和删除数据。