美文网首页
基于json-server完整模拟后台接口

基于json-server完整模拟后台接口

作者: 习惯水文的前端苏 | 来源:发表于2022-03-28 08:49 被阅读0次

    json-server的基本使用


    \bullet 安装

         cnpm i -g json-server

    \bullet 生成package.json

        npm init -y

    \bullet 指定启动命令

    \bullet 定义路由映射关系(routes.json)

        apsShiftTime 为 db.json 中的keyName 或 db.js 返回对象的keyName

    \bullet 使用fakerJs造mock数据

        定义test.js文件,该文件中使用module.exports导出一个函数,且函数中必须return一个对象,该对象的第一层key即对应的路由(同routes.json映射)

    \bullet 中间件

        可以利用中间件对一些参数做校验,并在合适的时间点抛出错误

        \ast 修改启动脚本

         \ast 编写中间件

    实现增删改查


        考虑使用两个中间件,一个中间件用来"启动本地数据库",另一个则是留出来处理具体的业务逻辑,比如开启分页、启用筛选、参数校验等

        对于我们模拟请求来说,将增删改查操作全都看作是一张表,我觉得是没有问题的,因此在此约定,以/get开头的请求地址被作为"数据库"地址,后序的增加、删除和编辑操作都基于该"数据库"完成,这里之所以打上引号,是因为我们不可能真的使用mysql或者mongdb,这样就脱离了“提升效率”的初衷了,故在此使用fs模块的文件读写能力,将数据存作json文件

        由于可以在中间件中直接res.send不再继续下发,但是JsonServer又必须要求提供db.js或者db.json文件,故我们可以在这里存储错误消息,并在需要抛错时redirect于此,如404

        最后路由的规则是一样的,只不过这里我们将/get作为一张“表”来看待了

        现在就可以在第二个中间件里边作增删改了

    写在最后


        首先很明确的是,这样做没啥大的卵用,至少对提升效率来说。毕竟真正工作中谁又会花时间去处理部分后端逻辑呢?哪怕多写一行都不行!!,在线mock它不香吗?可是谁让我闲的dan疼呢


    fakerJs

    相关文章

      网友评论

          本文标题:基于json-server完整模拟后台接口

          本文链接:https://www.haomeiwen.com/subject/fxkmrrtx.html