Faker.js 分析

目的:在浏览器和 node.js 中生成大量的虚假数据

  • ./index.js

    Faker.js 入口文件,创建一个 faker 实例

  • ./lib/index.js

    Faker.js 纲领文件,是模块的集合

  • ./lib/faker.js (精华所在)

    faker 使用插值实现参数解析和模块方法的执行并返回执行结果

  • ./lib/unique.js

    引用了 ./vendor/unique.js 其作用是全局唯一性检查

  • ./lib/random.js

    引用了 ./vendor/merssene.js

    梅森旋转算法(Mersenne twister)是一个伪随机数生成算法.

    其作用就是在各种情况下生成所需的随机数,并根据随机数返回所需的数据,例如: 数字、数组内元素、单词、姓名、地址、字母、语言、图片网址、十六进制数等等.

  • ./lib/helper.js

    这个文件的内容比较奇怪,可以看出是列举了一些常用的方法,比如: 字符串替换、字符串打乱、特殊符号替换等等

    但是下半部分又实现了一些生活中实用的例子,比如: 会员卡、名片、账户

    但我感觉完全可以归并在./libs/random.js 中,毕竟它干的事比这个多了不少

  • ./lib/locales.js

    导入所有语言

  • ./lib/image_providers

    图片提供商,用于构造图片网址,如果你要自定义,不妨在这边进行修改

  • ./lib/locales > 语言相关,为不同的语言提供特定的处理方式

Faker.js 为我们提供了丰富的常用案例,简单归纳如下:

  • ./libs/name.js

    随机名字,包括: 姓氏、名字、前缀、后缀、性别、职业、职业描述、职业类型,等等

  • ./lib/address.js

    随机地址,包括: 邮编、城市、街道、国家、国家代码、洲(省)、纬度、经度、方位、gps 坐标,等等

  • ./lib/company.js

    随机公司相关的数据

  • ./lib/finance.js

    随机金融相关的数据

  • ./lib/image.js

    随机图片,构造图片网址

  • ./lib/lorem.js

    随机句子、段落等

  • ./lib/hacker.js

    这个文件名字很怪,乍看以为是黑客相关的,其实是它的内容是词性,包括: 缩写、形容词、名词、动词、短语

  • ./lib/internet.js

    随机互联网专用的一些技术性的东西,例如: 邮箱、IP、域名、网址、用户代理、终端颜色代码、mac 地址、密码,等等 PS:打开这个文件让我的 vscode 崩溃了,可能插件装多了,有一个突然犯抽导致 CPU 占用居高不下

  • ./lib/database.js

    随机数据库相关的数据

  • ./lib/phone_number.js

    随机电话(手机)号码

  • ./lib/date.js

    随机日期,可以是过去的、将来的、最近的、即将到来的某一段时间,或者某个月份、第几周,等等

  • ./lib/commerce.js

    随机商业相关的数据,如:部门、产品、价格,等等

  • ./lib/system.js

    随机系统相关的数据,如:文件名、文件类型、文件路径,等等

  • ./lib/git.js

    随机 git 相关的数据,如:分支、提交格式、提交的 Sha 值,等等

  • ./lib/vehicle.js > 随机交通相关的数据,如:汽车品牌、车型、制造商、汽油型号、外观颜色,等等