Node.js和Express.js简介
Node.js是一个流行的服务器端JavaScript运行环境,用于构建高性能的网络应用程序。Express.js是一个Node.js的Web应用程序框架,它提供了用于创建Web和API应用程序的核心功能,如路由、中间件和HTTP请求处理。
以下是一些关键Node.js和Express.js特点:
- 非阻塞和事件驱动:Node.js使用事件循环来处理多个并发连接,使其非常高效。
- 模块化:Node.js支持模块化编程,允许你轻松管理代码。
- 丰富的包管理器:Node.js的包管理器npm使你能够轻松地安装、更新和共享代码库。
创建一个简单的Node.js和MongoDB RESTful API
首先,确保你已经安装了Node.js和MongoDB。接下来,让我们创建一个简单的Node.js和MongoDB RESTful API。
- 创建一个新的Node.js项目:
在你的项目文件夹中打开终端并执行以下命令来初始化一个新的Node.js项目:
npm init -y
- 安装Express.js和MongoDB驱动:
执行以下命令来安装Express.js和MongoDB驱动:
npm install express mongoose --save
这将安装Express.js和Mongoose,它是一个用于连接和操作MongoDB的Node.js库。
- 创建一个Express.js应用程序:
在项目文件夹中创建一个名为app.js
的文件,并添加以下代码来创建一个Express.js应用程序:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
const port = 3000;
// 连接到MongoDB
mongoose.connect('mongodb://localhost/myapi', { useNewUrlParser: true, useUnifiedTopology: true });
// 定义任务模型
const Task = mongoose.model('Task', { title: String, description: String });
// 解析请求体为JSON
app.use(express.json());
// 创建任务
app.post('/api/tasks', async (req, res) => {
const { title, description } = req.body;
const task = new Task({ title, description });
await task.save();
res.json(task);
});
// 获取所有任务
app.get('/api/tasks', async (req, res) => {
const tasks = await Task.find();
res.json(tasks);
});
// 启动服务器
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
- 启动应用程序:
在终端中执行以下命令启动应用程序:
node app.js
你的API现在运行在 http://localhost:3000 上。
- 测试API:
使用工具如cURL、Postman或浏览器来测试API的不同端点,例如/api/tasks
和/api/tasks
。