乐趣区

关于ide:28-万-Star生成虚假内容的神器fakerjs

【导语】:当你须要初始化数据库,或者要做压力测试的时候,如果手头没有足够多的实在数据,那你会很须要 Faker 类工具。

和此前咱们介绍的 PHP 版 Faker 一样,faker.js 是一个同类工具,它能够在浏览器和 Node.js 中生成大量假内容。

简介

faker.js 反对生成英文、中文等多语种信息。版本更新通常一个月一次,API 十分丰盛,包含地址、商业、公司、数据库、日期、财务等等。

faker.js 很受欢迎,很多公司和集体在生产环境中理论应用。它在 Github 上快取得 2.8 万 Star,但并不是一个刚进去的新我的项目,最近再次登上 GitHub 日榜前三。

我的项目地址:

http://github.com/marak/faker…  

下图为 Demo 生成的例子,图片中人物是不存在的。

应用

在浏览器中应用:

    <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

如果想查问更加具体的应用内容,能够查问 JSDoc API,地址如下:

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

faker.js 蕴含了一个超级有用的生成器办法:Faker.fake()。应用代码示例如下:

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

其中 name.lastName(), name.firstName(), and name.suffix() 三个办法用来设置格局。

本地化部署

v2.0.0 版本的 faker.js 反对多地部署,默认本地部署语言为英语。设置本地部署非常简略:

// sets locale to de
faker.locale = "de";

faker.js 还反对本地化部署增量导入,默认要求 faker 蕴含所有的本地数据。在生产环境中,你可能只想蕴含某个环境的数据,这种状况下,能够思考应用这个形式。代码如下:

// loads only de locale
var 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 === secondRandom);

也能够先查看在线 demo,来理解本我的项目的根本成果。

demo 地址如下:

https://rawgit.com/Marak/fake…

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10 万 + Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。

退出移动版