在我们会使用JSON Server之后,虽然我们能够使用json文件数据来模拟后台的数据请求操作,但是我们还往往会出现另一个问题,那就是“巧妇难为无米之炊”,假如说没有大量的数据,有时是很难真实的模拟后端数据的请求操作的,正因为如此,我们才需要让JSON Server来帮助我们生成所需要的大数据。

  而这里,我们的JSON Server并非凭空的随机生成任何的毫无意义的大数据,恰恰相反,其生成的数据都是真实存在的,比如说我们下面所要生成的数据就是如此,其是通过在亚马逊网站上抓取真实的用户信息,以此来生成我们所需要的真实数据的。因而该真实数据更具有实际的操作与应用价值。

安装faker和lodash

  安装fakerlodash的指令如下:

cnpm install faker lodash

创建generate.js

源码

module.exports = function () {
        var faker = require("faker");
        var _ = require("lodash");
        return {
            people:_.times(100,function (n) {
                return {
                    id:n
                    ,name:faker.name.findName()
                    ,avatar:faker.internet.avatar()
                }
            })
        }
    };

分析

  在上面的代码中,下面的代码块其实是导出对象函数

module.export = function () {
        return{
        }
    };

  var faker = require("faker");意思是导入faker依赖,并将其转交给新创建的对象faker;同理var _ = require("lodash");是引入lodash依赖,并将其转交给新创建的对象_

  在上面我们引入的工具依赖中,需要返回一个含有people属性的对象,该值应该是一个数组,或是我们将要返回的数组。而这个数组是由lodash和faker生成。

  如果我们想要生成一百条信息,我们应该这么写_.times(100),该意思是用来返回函数100次。这里的参数n是作为循环时的index。

  此时我们将返回一个含有id:n的对象,n是前面传入的参数。

  其中第一个人的id会是0,接下来会返回一个name属性,值为faker.name.findName()。现在再添加一个avatar属性,值为faker.internet.avatar()

启动并查看项目

  在控制台中输入下面的指令来启动项目:

json-server generate.js

  当项目被成功启动后,我们在REST ClientHost/port中输入http://localhost:3000/people,点击运行按钮,即可在Response控制面板中查看到我们所查询的结果,如下所示:

JSON Server利用faker与lodash生成我们所需要的大数据

  由于上面的信息是真实存在的,所以说我们可以通过该信息来获取用户的头像。比如说在返回的信息中avatar代表的就是用户头像,当我们随机访问其中的一条,比如说:

https://s3.amazonaws.com/uifaces/faces/twitter/rohixx/128.jpg

  如果没有被墙,能够访问成功的话,其访问的结果是这样的:

JSON Server利用faker与lodash生成我们所需要的大数据

  如上所示,我们通过查看元素,确实是可以查看到该用户的头像信息,而该用户的完整信息为:

{
    "id": 1,
    "name": "Cierra Anderson",
    "avatar": "https://s3.amazonaws.com/uifaces/faces/twitter/rohixx/128.jpg"
  }

  如果我们想要保存上面的100条真实的用户信息,我们需要执行之前提到的命名,也就是说在控制台中执行:

s + 回车

JSON Server利用faker与lodash生成我们所需要的大数据

相关文章:

  • 2021-11-04
  • 2021-07-08
  • 2022-12-23
  • 2021-07-10
  • 2021-11-11
  • 2021-11-30
  • 2022-12-23
  • 2021-11-19
猜你喜欢
  • 2021-11-04
  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2022-12-23
  • 2021-06-22
  • 2021-11-04
相关资源
相似解决方案