位置: IT常识 - 正文

『前端必备』本地数据接口—json-server 详细介绍(入门篇)(前端必会)

编辑:rootadmin
『前端必备』本地数据接口—json-server 详细介绍(入门篇)

目录

前言

 一、Node环境搭建

1-1 简介

1-2 Node.js环境搭建

1-2-1 下载

1-2-2 安装

1-2-3 验证

1-3 npm简介

二、json-server环境搭建

2-1 简介

2-2 安装

2-3 创建数据库

2-4 启动

​编辑

2-5 查看

三、操作数据

3-1 查(get)

3-2 增(post)

3-3 删(delete)

3-4 改(put 和 patch)

前言

推荐整理分享『前端必备』本地数据接口—json-server 详细介绍(入门篇)(前端必会),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:前端 书,前端必读,前端用啥,前端实用技巧,前端必读,前端必会,前端必备软件,前端基本功,内容如对您有帮助,希望把文章链接给更多的朋友!

Ajax 是前端必学的一个知识点,但刚接触 Ajax 的同学可能会因为没接口测试而烦恼。

本文 入门篇 会花你10分钟解决 没接口测试 这个烦恼,而且不需要你具备后端知识。

虽然有许多线上的免费接口可以测试,但需要自定义接口和数据的时候,还是本地模拟数据比较适合前端开发者。

json-server 需要通过 npm 下载,npm 依赖在 node 中。下面先进行node环境配置

 一、Node环境搭建1-1 简介

        Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!Node.js 在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核)。Node.js 应用程序运行于单个进程中,无需为每个请求创建新的线程。 Node.js 在其标准库中提供了一组异步的 I/O 原生功能(用以防止 JavaScript 代码被阻塞),并且 Node.js 中的库通常是使用非阻塞的范式编写的。

        Node.js 具有独特的优势,因为为浏览器编写 JavaScript 的数百万前端开发者现在除了客户端代码之外还可以编写服务器端代码,而无需学习完全不同的语言。

1-2 Node.js环境搭建1-2-1 下载

 官网地址: Node.js 中文网

 .msi 和 .zip 格式区别:

.msi是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。 .zip是一个压缩包,解压之后即可,不需要安装1-2-2 安装

      下载完成后,双击安装包,开始安装,一直点next即可。

1-2-3 验证

       安装完成后,.msi格式的安装包已经将node启动程序添加到系统环境变量path中,查看系统变量验证。

执行命令node -v查看node版本。

最新版的node在安装时同时也安装了npm,执行npm -v查看npm版本。

1-3 npm简介

        npm全称为Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器。 

        npm的初衷:JavaScript开发人员更容易分享和重用代码。

1-3-1 npm的使用场景:允许用户从NPM服务器下载别人编写的第三方包到本地使用。允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

 如果你安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下:

npm install npm -g

使用淘宝镜像的命令:

npm install -g cnpm --registry=https://registry.npm.taobao.org

        npm run是npm run-script的简写,顾名思义就是执行脚本。执行的脚本配置在package.json中的scripts对象。

二、json-server环境搭建2-1 简介

         一个在前端本地运行,可以存储json数据的server。通俗来说,就是模拟服务端接口数据,一般用在前后端分离后,前端人员可以不依赖API开发,而在本地搭建一个JSON服务,自己产生测试数据。

       顾名思义,json-server就是个存储json数据的server~​。

开源地址

主页地址:json-server - npm Github项目地址:https://github.com/typicode/json-server

2-2 安装

  使用npm全局安装json-server:

npm install -g json-server

  可以通过查看版本号,来测试是否安装成功:

json-server -v2-3 创建数据库

json在线编辑器:JSON在线编辑器-懒人工具|www.ab173.com

创建任意一个文件夹,进入到该文件夹里面,创建一个db.json包含一些数据的文件(建议文件名不要出现中文)。

例:

创建 json-server-demo 文件夹,在 json-server-demo 里创建 db.json 文件(这些文件夹和文件名都可以自由命名)。

db.json 文件录入以下数据(数据来自 json-server 官方文档,你也可以使用自己的数据)

{ "posts": [ { "id": 1, "title": "json-server", "author": "typicode" } ], "comments": [ { "id": 1, "body": "some comment", "postId": 1 } ], "profile": { "name": "typicode" }}

对比myserver/db.json文件的数据,可以发现: /db就是整个的db.json数据包,而/posts /comment /profile 分别是db.json里面的子对象。

 所以说,json-server把db.json 根节点的每一个key,当作了一个router。我们可以根据这个规则来编写测试数据。

2-4 启动『前端必备』本地数据接口—json-server 详细介绍(入门篇)(前端必会)

在文件夹下,直接在地址栏cmd,进入终端。执行启动json-server命令。

json-server --watch db.json2-5 查看

在浏览器中输入地址:http://localhost:+端口号/接口名称,即可查看数据。 例如:输入http://localhost:3000/comments

首页和三个接口都可以直接在浏览器访问。

三、操作数据3-1 查(get)

json-server 查询数据需要使用 GET 方法。

上一小节创建了3个接口,我们可以直接在浏览器、postman或者自己写JS代码获取数据。

http://localhost:3000/posts

3-2 增(post)

json-server 新增数据需要使用 POST 方法。

例:给 posts 添加一条新的数据。

http://localhost:3000/posts

这里使用 POSt 方法向 /posts 接口传输数据,/posts 原本的数据结构是包含 id、title、author 三个字段,id 默认是自增主键,不传的话会默认增加。

此时打开 db.json 文件看看,可以发现 posts 里多了一条数据。

需要注意的是:json-server 默认情况下并不会限制你上传的数据格式和类型,所以需要你严格遵循自己设计的数据格式来添加和修改。

3-3 删(delete)

json-server 删除数据需要使用 DELETE 方法。

删除的公式是:

http://localhost:3000/{接口名}/{id}

比如现在要删除刚刚上传的那条数据

{ "title": "leihou", "author": "雷猴", "id": 2}

可以看到刚刚上传的那条数据的 id 为 2

http://localhost:3000/posts/2

此时打开 db.json 就会发现刚刚删除的那条数据已经没了。

需要注意的是: 删除成功 Status 会返回 200;如果删除的数据不存在会返回 404。 

3-4 改(put 和 patch)

修改数据分为2个方法:

put :覆盖patch :更新

公式如下所示:

http://localhost:3000/posts/{id}

3-4-1 覆盖(put)

例:把 id 为 1 的数据改成 { "title": "leihou", "author": "雷猴" }

此时打开 db.json 就可以看到 id 为 1 的数据已经发生变化。

注意:原本的数据包含 title 和 author ,使用 put 时必须把这两个字段都写上,不然会删掉没传的字段。这就是 “覆盖” 的意思。

例如:

此时查看 db.json 会发现数据被覆盖。

3-4 2更新(patch)

先还原一下数据,改成如下图所示:

此时有 title 和 author 字段。

例:使用 patch 方法把 id 为 1 的数据 title 字段的值更改成 hello 。

打开 db.json 文件查看一下,会发现只改了 id 为 1 的 title 值,并没有删掉 author 这个字段的数据。

本文链接地址:https://www.jiuchutong.com/zhishi/298584.html 转载请保留说明!

上一篇:vue项目中常用解决跨域的方法(vue技术解密)

下一篇:快速傅里叶变换及Python代码实现(快速傅里叶变换matlab)

  • 华为语音助手怎么打开(华为语音助手怎么开启)

    华为语音助手怎么打开(华为语音助手怎么开启)

  • 苹果手表怎么断开wifi(苹果手表怎么断开连接)

    苹果手表怎么断开wifi(苹果手表怎么断开连接)

  • 苹果13pro怎么设置主卡(苹果13pro怎么设置双卡双待)

    苹果13pro怎么设置主卡(苹果13pro怎么设置双卡双待)

  • 华为p50Pro是麒麟芯片吗(华为p50pro是麒麟9000还是9000e)

    华为p50Pro是麒麟芯片吗(华为p50pro是麒麟9000还是9000e)

  • QQ自动回复怎么删(qq自动回复怎么删除掉以前的内容)

    QQ自动回复怎么删(qq自动回复怎么删除掉以前的内容)

  • iphone11拍照声音怎么关(苹果11拍照的声音)

    iphone11拍照声音怎么关(苹果11拍照的声音)

  • 苹果拉黑号码后可以收到短信吗(苹果拉黑号码后别人打电话可以显示吗)

    苹果拉黑号码后可以收到短信吗(苹果拉黑号码后别人打电话可以显示吗)

  • p40pro出厂带膜吗(p40pro出厂有膜吗)

    p40pro出厂带膜吗(p40pro出厂有膜吗)

  • 淘宝手机版怎么看回收站(淘宝手机版怎么发文件)

    淘宝手机版怎么看回收站(淘宝手机版怎么发文件)

  • ios13.3费电吗(ios13.3耗电怎么样)

    ios13.3费电吗(ios13.3耗电怎么样)

  • 苹果手机轻颜相机需要付费吗(苹果手机轻颜相机草稿箱在哪里)

    苹果手机轻颜相机需要付费吗(苹果手机轻颜相机草稿箱在哪里)

  • 网速200兆是什么意思(网速二百兆是什么意思)

    网速200兆是什么意思(网速二百兆是什么意思)

  • 无基带怎么跳过激活(无基带怎么跳过解码)

    无基带怎么跳过激活(无基带怎么跳过解码)

  • 怎么看有几个人特别关心我(b站怎么看有几个人)

    怎么看有几个人特别关心我(b站怎么看有几个人)

  • 手机站点安全警告怎么关闭(手机站点安全警示)

    手机站点安全警告怎么关闭(手机站点安全警示)

  • 手机蓝牙怎么连接汽车蓝牙放音乐(手机蓝牙怎么连接车载蓝牙放音乐)

    手机蓝牙怎么连接汽车蓝牙放音乐(手机蓝牙怎么连接车载蓝牙放音乐)

  • vivo悬浮键盘怎么关闭(vivo手机悬浮键盘怎么打开)

    vivo悬浮键盘怎么关闭(vivo手机悬浮键盘怎么打开)

  • ie游览器怎么设置兼容(ie游览器怎么设置存取模板格式)

    ie游览器怎么设置兼容(ie游览器怎么设置存取模板格式)

  • cad鼠标的十字光标如何设置大小(cad鼠标的十字光标方框怎么调大小)

    cad鼠标的十字光标如何设置大小(cad鼠标的十字光标方框怎么调大小)

  • 华为p30如何锁屏(华为p30锁屏图案设置)

    华为p30如何锁屏(华为p30锁屏图案设置)

  • Win11开启VBS功能将严重影响游戏体验 游戏帧率最多下降28%(vb win10)

    Win11开启VBS功能将严重影响游戏体验 游戏帧率最多下降28%(vb win10)

  • psimsvc.exe - psimsvc是什么进程 有什么用

    psimsvc.exe - psimsvc是什么进程 有什么用

  • Apache.exe是什么文件的进程 Apache进程信息查询(apache是什么文件)

    Apache.exe是什么文件的进程 Apache进程信息查询(apache是什么文件)

  • 企业所得税申报表
  • 应纳税所得额是利润总额吗
  • 赠送的代金券属于销售费用吗?
  • 汇算清缴需要传什么资料
  • 企业罚职工的钱违法吗?
  • 房地产开发企业土地增值税清算
  • 人力资源公司代招的岗位可以去吗
  • 低于5000是什么意思
  • 零申报印花税怎么填写
  • 外商投资企业国内上市最新政策
  • 呆账的处理
  • 收到员工的罚款钱怎么写分录
  • 计提利息怎么做账
  • 以前年度损益调整结转到哪里
  • 商品税目编码表查询
  • 会计学堂值得购买吗
  • 高新技术企业认定管理办法
  • 销售支付运费属什么科目
  • 增值税加计扣除是什么意思啊
  • 应收股利的账务处理方法
  • 土地租赁期间政府征收
  • 主营业务收到的现金
  • 取得成本tc
  • 费用报销操作流程
  • 鼠标怎么设置为右键功能
  • mac设置在哪里设置
  • redhat无法进入图形界面
  • 成品油消费税怎么抵扣
  • php照片上传
  • 自制半成品属于原材料还是库存商品
  • 会计期初余额和期末余额计算公式
  • php使用正则表达式提取abcdef
  • 大型语言模型的教育应用
  • mongodb最新版本
  • 平时加班和节假日加班工资
  • 预收款销售商品如何与业务员对账
  • 家庭分割财产怎么处理
  • 超详细的mac重装系统教程
  • sql 按顺序查询
  • 收到预付款发票但是货未到怎么办
  • 服务业 费用可以暂估吗?
  • 收到发票冲红怎么做分录
  • 铁路运费印花税谁承担
  • 扣除工程款说明
  • 增值税代扣代缴范围
  • 股权转让如何办理
  • 供应合同转让协议
  • 收到银联代收短信
  • 账本结转下年怎么划线
  • 免征增值税进项税额不得抵扣
  • 计提加计抵减额的会计处理
  • 会计入职新公司
  • 确认收入一定要交增值税吗
  • 账簿凭证的管理要求
  • mysql 5.7.12 winx64安装配置方法图文教程
  • vistasp3
  • mac怎么设置屏幕显示时间
  • centos停止程序
  • windows 8.1更新
  • linux php教程
  • win7系统软件卸载
  • win10系统怎么快速启动
  • Win7如何关闭Smartscreen筛选器?Win7关闭Smartscreen筛选器的方法
  • jquery炫酷效果
  • tensorflow.nn
  • 使用jquery实现的项目
  • 一张监控
  • window.parent与window.openner区别介绍
  • 安卓环境搭建id怎么设置
  • JavaScript冒泡排序都不会写
  • jQuery基于$.ajax设置移动端click超时处理方法
  • android 启动器 设置
  • Android StateMachine解析( 1 )
  • 全国增值税务查询官网
  • 安徽省合肥市地震多少级
  • 公务员车补缴个税吗
  • 工业厂房房产税什么时候开始征收
  • app平台怎么投诉商家
  • 放管服中的服的深层含义
  • 补缴往年土地使用税怎么做分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设