使用Node.js搭配express框架快速構建后端業務接口模塊Demo!實際開發中,有很多項目,其實都是可以使用node.js來完成對接mysql數據庫的,express確實使用起來非常簡單,入手快,效率非常高。下面是一個簡單的案例,幫助大家快速掌握了解,如何構建自己的后端管理模塊。
1:
步驟 1:初始化項目
-
在命令行中進入你想要創建項目的文件夾,運行:
mkdir my-express-backend cd my-express-backend npm init -y
步驟 2:安裝 Express
安裝
express
和其他必要的依賴:npm install express mysql2 body-parser cors
這個速度很快,幾秒鐘就可以按照完成了。非常快捷。
2:
- express:核心框架
- mysql2:連接 MySQL 數據庫
- body-parser:解析請求體,常用來解析 POST 請求的數據
- cors:跨域資源共享,允許你的前端與后端進行跨域請求
步驟 3:創建 index.js
文件
在項目根目錄下創建 index.js
文件,這是 Express 服務器的入口。
touch index.js
步驟 4:編寫 Express 服務器代碼
打開 index.js
文件并寫入以下代碼:
// 引入依賴
const express = require('express');
const mysql = require('mysql2');
const cors = require('cors');
const bodyParser = require('body-parser');// 創建 Express 實例
const app = express();
const port = 3000;// 允許跨域請求
app.use(cors());// 解析 JSON 請求體
app.use(bodyParser.json());// 創建數據庫連接池
const db = mysql.createPool({host: 'localhost', // 數據庫主機user: 'root', // 數據庫用戶名password: 'password', // 數據庫密碼database: 'lost_and_found', // 數據庫名稱
});// 測試數據庫連接
db.getConnection((err, connection) => {if (err) {console.error('Database connection failed:', err.stack);return;}console.log('Connected to database as ID', connection.threadId);connection.release();
});// 創建一個簡單的 API 端口,返回 Hello World
app.get('/', (req, res) => {res.send('Hello World!');
});// 獲取當前數據庫中所有帖子
app.get('/posts', (req, res) => {const query = 'SELECT * FROM posts';db.query(query, (err, results) => {if (err) {console.error('Error fetching posts:', err);return res.status(500).json({ message: 'Error fetching posts' });}res.json(results);});
});// 獲取帖子的數量
app.get('/posts/count', (req, res) => {const query = 'SELECT COUNT(*) AS count FROM posts';db.query(query, (err, results) => {if (err) {console.error('Error fetching posts count:', err);return res.status(500).json({ message: 'Error fetching posts count' });}res.json({ count: results[0].count });});
});// 用戶注冊 API
app.post('/register', (req, res) => {const { username, email, password } = req.body;const query = 'INSERT INTO users (username, email, password) VALUES (?, ?, ?)';db.query(query, [username, email, password], (err, result) => {if (err) {console.error('Error registering user:', err);return res.status(500).json({ message: 'Error registering user' });}res.status(201).json({ message: 'User registered successfully' });});
});// 啟動服務器
app.listen(port, () => {console.log(`Server running on http://localhost:${port}`);
});
3. 啟動 Express 后端服務器
node index.js
在項目根目錄下,執行以下命令啟動服務器:執行這個指令,即可打開服務器端程序了。我們簡單的測試一下,入下圖所示:
說明,這個測試接口是我自己寫的,地址,你可以自己改成自己喜歡的地址,自己測試。
4. 數據庫設置
確保你已經在 MySQL 中創建了數據庫和表,并配置好數據庫連接。
創建數據庫和表
假設你的數據庫叫做 lost_and_found
,你可以執行以下 SQL 來創建表:
CREATE DATABASE lost_and_found;USE lost_and_found;CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(255) NOT NULL,email VARCHAR(255) NOT NULL,password VARCHAR(255) NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);CREATE TABLE posts (id INT AUTO_INCREMENT PRIMARY KEY,user_id INT NOT NULL,title VARCHAR(255) NOT NULL,description TEXT NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FOREIGN KEY (user_id) REFERENCES users(id)
);
5. 測試后端 API
在瀏覽器或者 Postman 中,你可以訪問以下 URL 來測試后端功能:
http://localhost:3000/
:測試是否能訪問到 Hello World。http://localhost:3000/posts
:獲取所有帖子數據。http://localhost:3000/posts/count
:獲取帖子數量。
6. 使用 Postman 測試注冊 API
你可以使用 Postman 測試用戶注冊接口。請求方法是 POST
,URL 是 http://localhost:3000/register
,請求體(Body)格式為 JSON:
{"username": "testuser","email": "test@example.com","password": "testpassword"
}
7. 擴展功能
在完成基礎的 Express 后端搭建后,你可以繼續擴展功能,加入更多的 API 端點,例如:
- 用戶登錄和身份驗證(JWT)
- 發布帖子、刪除帖子等
- 用戶積分管理
- 黑名單功能等
8. 部署到生產環境
當你完成本地開發和測試后,下一步就是將 Express 后端部署到生產環境。可以使用一些常見的部署方式,例如:
- Heroku:一個簡單的云平臺服務,適合小型應用。
- DigitalOcean、AWS EC2:適合需要更多控制的應用,可以配置自己的服務器。
- Docker:如果你使用 Docker,可以將應用容器化并在任何支持 Docker 的平臺上運行。
9. 總結
- 初始化項目:使用
npm init
創建package.json
。 - 安裝依賴:安裝 Express、MySQL 以及其他依賴。
- 編寫服務器代碼:創建 Express 實例,連接 MySQL,并定義 API。
- 測試后端功能:使用瀏覽器或 Postman 測試后端 API。
- 擴展功能:添加用戶身份驗證、發布帖子等功能。
- 部署到生產:使用 Heroku 或其他平臺將你的應用部署到生產環境。
這樣,你就完成了一個基本的 Express 后端搭建。隨著項目的進展,你可以逐步增加更多的功能和優化。