json-server环境搭建及使用
创始人
2024-05-25 19:41:51
0

json-server环境搭建

一个在前端本地运行,可以存储json数据的server。

基于node环境,可以指定一个 json 文件作为 API 的数据源。

文章目录

    • json-server环境搭建
      • 前提
      • 下载安装
      • 监听服务
      • 启动成功
      • 修改端口号
        • 方式一:
        • 方式二:
    • 数据操作
      • 测试数据源
      • 查询数据
        • 获取数据方式
          • 方式一:
          • 方式二:
        • 分页获取数据
        • 排序数据
        • 截取数据
        • 区间数据
    • 配置静态资源服务器

前提

  • 安装 node 环境

下载安装

  • 全局安装json-server
npm install -g json-server

监听服务

  • 在需要的文件夹下执行以下命令,执行成功后,默认会创建 db.json 文件。
json-server --watch db.json

启动成功

  • 根据执行命令,服务已正常监听,我们可以根据以下地址进行访问体验。
  • 可以理解为json-serverdb.json 根节点的每一个 key ,当作一个 router 。我们可以根据这个规则来编写测试。

在这里插入图片描述


  • 在浏览器运行 http://localhost:3000 ,效果如下

在这里插入图片描述


修改端口号

方式一:

  • json-server 默认端口为 3000,可以根据需要自定义端口号。
json-server --watch db.json --port 3006

方式二:

  • 告诉你个可以偷懒的方式吧,如果觉得每次 启动服务 都要执行相关命令,可以在 db.json 同级文件夹新建一个 package.json 文件,然后把以下配置信息放在里面就可以啦。
{"scripts": {"mock": "json-server db.json --port 3006"}
}

  • 注意启动服务的方式:执行以下命令即可。
npm run mock

数据操作

测试数据源

  • 直接复制到所创建的 db.json 文件中
{"subject": [{"id": 1,"name": "JAVA","price": 888 },{"id": 2,"name": "GO","price": 2088},{"id": 3,"name": "VUE","price": 288}]
}

查询数据


获取数据方式

方式一:
  • 直接在 url 后面拼接 id
http://localhost:3006/subject/3

  • 返回数据格式:对象
{id: 3,name: "VUE",price: 288
}

方式二:
  • 也是我们常见 GET 的传参方式,拼接需要查询参数
http://localhost:3006/subject?id=3

  • 返回数据格式:数组
[{id: 3,name: "VUE",price: 288}
]

分页获取数据

  • _page:页码
  • _limit:每页显示数量,如果没有指定,默认每页10条数据。
http://localhost:3006/subject?_page=1&_limit=2

排序数据

  • _sort:排序字段
  • _order:排序方式【asc | desc】,默认asc
http://localhost:3006/subject?_sort=id&_order=desc

截取数据

  • 使用 slice 方式,通过参数 _start 指定开始位置,_end指定结束位置
  • 注意: 是通过 下标 方式截取
  • 也可以结合_limit 指定开始位置算起,往后取n个数据。
http://localhost:3006/subject?_start=3&_end=6http://localhost:3006/subject?_start=3&_limit=6

区间数据

  • _gte: 大于等于
  • _lte: 小于等于
  • _ne: 不等于
  • _like: 模糊查询
http://localhost:3006/subject?id_gte=2&_lte=5http://localhost:3006/subject?name_like=V

配置静态资源服务器

  • 在根目录下创建 json 文件,例 json_server_config.json
  • 在根目录下创建 public 目录,存放静态资源。
{"port": 3006,"watch": true,"static": "./public","read-only": false,"on-cors": true,"no-gzip": false
}
  • 修改 package.json 文件中启动命令
{"name": "my-json-server","version": "1.0.0","description": "","main": "index.js","scripts": {"mock1": "json-server db.json --port 3006","mock": "json-server --c json_server_config.json db.json"},"keywords": [],"author": "","license": "ISC"
}

  • 因为配置文件中指定静态文件的目录,所以访问图片时可以忽略 public 目录。
  • 例:访问图片(public/image):http://localhost:3006/image/test.png

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...