在前端开发中,后端接口未就绪是常有的事,反复等待、联调低效成了痛点。而json-server这款轻量级工具,能让你仅靠一个 JSON 文件,5 分钟内搭建出支持完整 CRUD 的 RESTful API 服务器,完美解决接口模拟需求。本文带你从入门到进阶,吃透json-server的所有核心用法。
json-server 是一款基于 Node.js 的轻量级 RESTful API 模拟工具,仅需一个 JSON 文件,即可在几秒内启动一个功能完整的本地 API 服务器。它完美支持 GET/POST/PUT/PATCH/DELETE 等标准 HTTP 方法,内置分页、过滤、排序、关联查询等常用后端功能,是前端开发者在接口未就绪时进行独立开发、联调与测试的利器。
采用MIT开源协议
db.json 文件,即可自动生成符合 REST 规范的完整 CRUD 接口。--watch),数据变更实时生效,开发体验流畅。?author=xxx、?title_like=关键词、?views_gte=100?_page=2&_limit=10(响应头含 X-Total-Count)?_sort=views&_order=desc?_embed=comments(嵌入子资源)、?_expand=post(展开父资源)/api/posts → /posts)package.json 脚本中,或通过自定义 server.js 实现高级配置。# 安装
npm install -g json-server
# 创建 db.json(示例数据)
echo '{
"posts": [
{ "id": 1, "title": "Hello json-server", "author": "dev" }
]
}' > db.json
# 启动服务(默认端口 3000)
json-server --watch db.json# 安装为开发依赖
npm install json-server --save-dev
# package.json 中添加脚本
{
"scripts": {
"mock": "json-server --watch db.json --port 3001"
}
}
# 启动
npm run mock// server.js
const jsonServer = require('json-server')
const server = jsonServer.create()
const router = jsonServer.router('db.json')
const middlewares = jsonServer.defaults()
server.use(middlewares)
server.use((req, res, next) => {
if (req.method === 'POST') req.body.createdAt = Date.now()
next()
})
server.use(router)
server.listen(3000, () => console.log('Mock API running on http://localhost:3000'))启动:node server.js
⚠️ 重要提醒:禁止用于生产环境! 因其基于文件 I/O,无权限控制、无并发保障、无数据校验,仅适用于本地开发与测试。
json-server 以“极简、高效、灵活”的设计理念,将复杂的后端接口模拟简化为一个 JSON 文件 + 一条命令,极大提升前端开发效率。无论是日常开发、教学还是快速验证,它都是不可或缺的开发神器。