整理 | 夕颜

图源 | 视觉中国

来源 | CSDN(ID:CSDNnews)

近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27.1k。只需要简单几步操作,就可以在浏览器和node.js中生成大量假数据。

据了解,这已经不是一个新项目了,2017年就已经由一名叫Marak Squires的开源爱好者创建,他自1999年以来就在写JavaScript产品代码,2009年开始写Node.js。除了faker.js之外,他还参与了100多个NPM开源项目,包括在GitHub上同样受欢迎的独立的功能服务器项目microcule、微服务平台hook.io等。

由于在mock数据方面非常好用,faker.js一经推出就受到了很多应用开发者的欢迎。如今faker.js再次出现在我们的眼前,那就来回顾一下这个好用的工具吧,也许在创建数据库用例数据时,它能帮上忙。

姓名、家庭住址、车辆信息一键生成

按照惯例,先放上项目的GitHub地址:https://github.com/marak/faker.js/

faker.js是个很棒的nede模块,用来mock数据。包含一个超级有用的生成器方法Faker.fake,用于胡须字符串格式与faker API组合。

比如:

console.log(faker.fake("{{name.lastName}{{name.firstName{{name.suffix}}"));// outputs: "Marks, Dean Sr."

这个操作可以将name.lastName(),name.firstName()和name.suffix()的值插入格式字符串。

先看一下demo,可以看到,只要点击“生成新的”,就可以生成关于“这个人”的大量信息,包括姓名、出生日期、家庭住址、国际、电话、邮箱和密码、财务信息,甚至照片,等等。但这个人实际上是并不存在的!

有了fake图像、fake人脸、fake视频,至此faker.js好像又给了Fake游戏一个新思路,原来信息数据也能够大量生成!

看起来很神奇,你是不是也蠢蠢欲动想玩一下?实际上,创建一个faker.js操作并不复杂,感兴趣的朋友不妨参考GitHub开源代码动手试一试。

创建faker.js的方法

  • 浏览器

Faker.js的好处之一,是不仅可以使用在服务器端的JavaScript,还可以应用在浏览器端的JavaScript,代码如下:

 <script src = "faker.js" type = "text/javascript"></script>    <script>      var randomName = faker.name.findName(); // Caitlyn Kerluke      var randomEmail = faker.internet.email(); // Rusty@arne.info      var randomCard = faker.helpers.createCard(); // random contact card containing many properties</script>
  • Node.js

var faker = require('faker');var randomName = faker.name.findName(); // Rowan Nikolaus    var randomEmail = faker.internet.email(); // Kassandra.Haley@erich.biz    var randomCard = faker.helpers.createCard(); // random contact card containing many properties
  • API

Faker.js有自己的API,并且功能非常丰富。

  • JSDoc API Browser

http://marak.github.io/faker.js/

  • 声明接口

    • 地址

      • 邮政编码

      • 州邮政编码

      • 城市前缀

      • 城市后缀

      • 街道名称

      • 街道地址

      • 街道后缀

      • 街道前缀

      • 其他地址

      • 国家

      • 国家代码

      • 州的缩写

      • 纬度

      • 经度

      • 方向

      • 基数方向

      • 顺序方向

      • 附近的GPS坐标

      • 时区

    • 商业

      • 颜色

      • 部门

      • 产品名称

      • 价钱

      • 产品形容词

      • 产品材质

      • 产品

      • 产品描述

以及公司、数据库、日期、财务状况、git、hacker、helper、图像、网络、音乐、姓名等API接口,每个项目下还有子项目.用Faker.js可以很方便地mock数据,只需要添加nmp依赖就可以了。

另外,faker.js是支持多种语言的,默认设置语言是英语,但可以自己设置,方法也很简单:

// sets locale to defaker.locale = "de";
  • az

  • ar

  • cz

  • de

  • de_AT

  • de_CH

  • en

  • en_AU

  • en_AU_ocker

  • en_BORK

  • en_CA

  • en_GB

  • en_IE

  • en_IND

  • en_US

  • en_ZA

  • es

  • es_MX

  • fa

...

  • 本地化包

faker.js支持语言环境的增量加载。

默认情况下,要求faker包括所有语言环境数据。

在生产环境中,你可能只想用一组特定语言环境的数据:

// loads only de localevar faker = require('faker/locale/de');
  • 设置随机种子

如果想要一致的结果,你可以自己设置种子:

faker.seed(123);
var firstRandom = faker.random.number();// Setting the seed again resets the sequence.faker.seed(123);
var secondRandom = faker.random.number();
console.log(firstRandom === secondRando

你可以使用gulp进行自动化创建过程。每个构建操作都是一个单独的任务,可以独立运行。

浏览器绑定

npm run browser

创建JSDocs

JSDOC v3 HTML API documentation

npm run jsdoc

创建ReadMe

faker.js的ReadMe.md文件是自动生成的,不能直接修改。如果要修改,在./build/src/docs.md中进行对ReadMe.md的所有更新,再运行脚本。

npm run readme

项目发起人表示,这个项目一般来说每月会进行一次或大或小的版本更新,并按紧要程度尽快修复bug,对项目感兴趣的人,可以持续关注下代码更新:https://github.com/marak/faker.js/

最后,用这种方法可以生成大量的假数据,虽然项目发起人称,Node.js主要是一些组织和个人用于生产环境设置,但为了安全起见,还是要在此提醒一句并声明,本文仅用于技术交流,朋友们且看且珍惜~

更多精彩推荐
  • 赠书 | 图像分类问题建模方案探索实践

  • 程序员奶爸用树莓派制作婴儿监护仪:哭声自动通知,还能分析何时喂奶

  • 强化学习:10种真实的奖励与惩罚应用

  • 全球数百万台 Mac 疑似因 Big Sur 更新险酿计算灾难,苹果官方回应来了!

  • 大神们都是如何在时间序列中进行特征提取的?看完就懂了!

大批量生成假数据,faker.js获得近28k个Star相关推荐

  1. faker.js 登 GitHub 趋势榜标星 27.1k,可大批量生成假数据!

    整理 | 夕颜 图源 | 视觉中国 出品 | CSDN(ID:CSDNnews) 近日,GitHub上一个生成假数据的项目faker.js火了,攀升Trendinging榜单第二,标星目前已超过27. ...

  2. Github标星27.1k,可大批量生成假数据,这个工具忒牛

    来自:开源最前线(ID:OpenSourceTop) 综合自:https://medium.com/javascript-in-plain-english/faker-js-npm-module-fo ...

  3. faker假数据php,Faker首页、文档和下载 - 生成假数据的 PHP 库

    Faker 是一个为你生成假数据的PHP库.当你需要填充一个测试数据库,或为你的web应用生成测试数据时,它能派上用场. 示例代码: // require the Faker autoloader r ...

  4. Yii2 使用 faker 生成假数据(转)

    测试过程中有时候需要生成大量的假数据,faker 是一个生成假数据的类库,可以生成姓名,电话,IP地址,密码,ISBN等等你能想到的或者你想不到的各种类型的假数据. Yii2.0已经集成该类库,不用再 ...

  5. faker假数据php,Yii2 使用 faker 生成假数据

    测试过程中有时候需要生成大量的假数据,faker 是一个生成假数据的类库.Yii2.0已经集成该类库yii2-faker,不用再下载了. 以Yii2.0 advanced版为例: 1. console ...

  6. html 假数据,mock.js实现模拟生成假数据功能示例

    本文实例讲述了mock.js实现模拟生成假数据功能.分享给大家供大家参考,具体如下: mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地h ...

  7. mockjs生成假数据的基本使用

    mockjs生成假数据的基本使用 1.安装 npm install mockjs --save 截止写这篇文章的时候,mockjs安装的版本为"mockjs": "^1. ...

  8. php 批量生成数量,laravel批量生成假数据的方法

    D:\phpStudy\WWW\api.douxiaoli.com\database\factories\ModelFactory.php D:\phpStudy\WWW\BCCKidV1.0\ven ...

  9. laravel批量生成假数据

    D:\phpStudy\WWW\api.douxiaoli.com\database\factories\ModelFactory.php D:\phpStudy\WWW\BCCKidV1.0\ven ...

最新文章

  1. 不相交轮换的乘积怎么求_谁能告诉我 轮换的乘积 怎么做?具体题目是
  2. android okhttp 架构,Android okhttp3.0 框架使用总结
  3. Ajax实践之用户是否存在
  4. ICCV2021 MuST:还在特定任务里为刷点而苦苦挣扎?谷歌的大佬们都已经开始玩多任务训练了...
  5. Java 容器源码分析之Queue
  6. Debian Gnu/Linux 9 安装remmina软件过程记录
  7. ubuntu下谷歌开源的TensorFlow Object Detection API的安装教程
  8. ubuntu8.04 升级到8.10后,apache2 不能用的解决办法
  9. JavaScript的7个位运算符
  10. MQ通道搭建以及连通性检查
  11. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小
  12. Linux基础-Swap分区
  13. 学了一年php感觉什么都不会,php自学要多久_一个学了1年php后选择放弃
  14. 爬虫 第六讲 Scrapy框架
  15. 1,514人罹难,泰坦尼克号沉船事故背后的数据统计如何?
  16. java输入两个数字和运算符_java 第二天运算符及录入函数Scanner
  17. 商家如何利用小程序积分营销工具为小程序引流?
  18. 基于bp神经网络的pid算法,神经网络pid控制器设计
  19. 智能冰箱APP开发定制制作
  20. AndroidWear 手持设备与穿戴设备的通知同步

热门文章

  1. GSM中时隙、信道、突发序列、帧的解释
  2. 算法:快速排序实现 定制比较函数
  3. 将数组A中的内容和数组B中的内容进行交换(数组一样大)
  4. Linux 安装图形界面及远程连接
  5. 【二分答案】【最短路】bzoj1614 [Usaco2007 Jan]Telephone Lines架设电话线
  6. libcurl断点下载遇到的问题
  7. css的background
  8. Linux终端的几个常用快捷方式,记下!
  9. SpringDataJpa根据多个id物品清单id查询房源编号
  10. 3des密钥生成 java_使用keytool生成3DES密钥