JSON Server Router 使用教程
1. 项目的目录结构及介绍
json-server-router/
├── README.md
├── db.json
├── package.json
├── routes.json
└── server.js
- README.md: 项目说明文档,包含项目的基本信息和使用指南。
- db.json: 数据文件,用于存储模拟的JSON数据。
- package.json: 项目的依赖管理文件,包含项目的依赖包和脚本命令。
- routes.json: 路由配置文件,定义API的路由规则。
- server.js: 项目的启动文件,负责启动服务器。
2. 项目的启动文件介绍
server.js
是项目的启动文件,主要负责启动JSON Server并加载路由配置。以下是 server.js
的主要内容:
const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('db.json');
const middlewares = jsonServer.defaults();
const routes = require('./routes.json');
server.use(middlewares);
// 自定义路由
const rewriter = jsonServer.rewriter(routes);
server.use(rewriter);
server.use(router);
server.listen(3000, () => {
console.log('JSON Server is running');
});
- jsonServer.create(): 创建一个JSON Server实例。
- jsonServer.router('db.json'): 加载数据文件
db.json
。 - jsonServer.defaults(): 加载默认的中间件(如logger、static、cors等)。
- jsonServer.rewriter(routes): 加载自定义路由配置文件
routes.json
。 - server.use(): 使用中间件和路由。
- server.listen(3000): 在端口3000上启动服务器。
3. 项目的配置文件介绍
package.json
package.json
文件包含了项目的依赖和脚本命令。以下是 package.json
的主要内容:
{
"name": "json-server-router",
"version": "1.0.0",
"description": "A simple JSON Server with custom routes",
"main": "server.js",
"scripts": {
"start": "node server.js"
},
"dependencies": {
"json-server": "^0.16.3"
}
}
- name: 项目名称。
- version: 项目版本。
- description: 项目描述。
- main: 项目的主入口文件。
- scripts: 包含可执行的脚本命令,如
npm start
启动服务器。 - dependencies: 项目的依赖包,如
json-server
。
routes.json
routes.json
文件定义了API的自定义路由规则。以下是 routes.json
的一个示例:
{
"/api/*": "/$1",
"/posts/:id": "/posts/:id"
}
- "/api/*": "/$1": 将
/api
开头的请求重写为根路径。 - "/posts/:id": "/posts/:id": 定义
/posts/:id
的路由规则。
通过这些配置文件,可以灵活地定义和管理API的路由和数据。