1. 安装Node.js和npm
在开始开发之前,需要确保已安装Node.js和npm(Node包管理器)。可以从Node.js官方网站下载并安装它们。
sh
复制代码
node -v
npm -v
2. 初始化项目
使用npm初始化一个新的Node.js项目,创建一个package.json文件来管理项目依赖。
sh
复制代码
mkdir my-node-app
cd my-node-app
npm init -y
3. 安装必要的依赖
一些常见的后端开发依赖包括Express(用于构建web服务器)、Mongoose(用于与MongoDB交互)等。
sh
复制代码
npm install express mongoose
4. 创建基础服务器
在项目目录中创建一个index.js文件,这是应用程序的入口点。
javascript
复制代码
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
5. 路由和中间件
使用Express可以方便地设置不同的路由和中间件来处理请求和响应。
javascript
复制代码
// 解析JSON请求体
app.use(express.json());
// 定义路由
app.get('/api/data', (req, res) => {
res.json({ message: 'Hello from API' });
});
// 处理404错误
app.use((req, res, next) => {
res.status(404).send('Sorry, we could not find that!');
});
6. 连接到数据库
可以使用Mongoose连接到MongoDB,管理数据模型和数据操作。
javascript
复制代码
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydatabase', {
useNewUrlParser: true,
useUnifiedTopology: true,
});
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', () => {
console.log('Connected to the database');
});
// 定义一个模型
const UserSchema = new mongoose.Schema({
name: String,
email: String,
password: String,
});
const User = mongoose.model('User', UserSchema);
// 创建一个新用户
app.post('/api/users', async (req, res) => {
try {
const user = new User(req.body);
await user.save();
res.status(201).json(user);
} catch (error) {
res.status(400).json({ error: error.message });
}
});
7. 环境配置
使用dotenv库管理环境变量,确保敏感信息如数据库连接字符串不会直接写在代码中。
sh
复制代码
npm install dotenv
在项目根目录下创建一个.env文件:
plaintext
复制代码
DB_CONNECTION=mongodb://localhost:27017/mydatabase
PORT=3000
在index.js中加载环境变量:
javascript
复制代码
require('dotenv').config();
const port = process.env.PORT || 3000;
mongoose.connect(process.env.DB_CONNECTION, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
8. 启动服务器
通过以下命令启动服务器:
sh
复制代码
node index.js
9. 使用Postman测试API
使用Postman或其他API测试工具发送HTTP请求,测试API的各项功能。