开放的编程资料库

当前位置:我爱分享网 > JavaScript教程 > 正文

The faker.js tutorial

faker.js 教程展示了如何使用 faker.js 库在 JavaScript 中生成虚假数据。

faker.js

faker.js 是一个用于生成假数据的 JavaScript 库。构建和测试我们的应用程序时,虚假数据很有用。 faker.js 可以为各个领域生成虚假数据,包括地址、商业、公司、日期、财务、图像、随机或名称。

在本文中,我们在 Node 应用程序中使用 faker.js。

设置 faker.js

首先,我们安装 faker.js。

$ node -v
v18.2.0

我们使用 Node 版本 18.2.0。

$ npm init -y

我们启动一个新的 Node 应用程序。

$ npm install --save-dev @faker-js/faker

我们安装 faker.js 模块作为开发依赖。

假名

在第一个例子中,我们伪造了与用户名相关的数据。

import { faker } from '@faker-js/faker';

let firstName = faker.name.firstName();
let lastName = faker.name.lastName();

let jobTitle = faker.name.jobTitle();
let prefix = faker.name.prefix(); 
let suffix = faker.name.suffix();
let jobArea = faker.name.jobArea();

let phone = faker.phone.number();

console.log(`Employee: ${prefix} ${firstName} ${lastName} ${suffix}`);
console.log(`Job title: ${jobTitle}`);
console.log(`Job area: ${jobArea}`);
console.log(`Phone: ${phone}`);

该示例创建一个随机的名字、姓氏、职位、名称前缀和后缀、工作区域和电话号码。

import { faker } from '@faker-js/faker';

我们导入了 faker 模块。

let firstName = faker.name.firstName();

我们使用firstName 函数生成一个假名字。该函数位于名称对象中。

$ node names.js
Employee: Miss Annabelle Rosenbaum PhD
Job title: Central Usability Officer
Job area: Tactics
Phone: 1-681-585-6744 x028

伪造日期

在第二个例子中,我们生成假日期。

import { faker } from '@faker-js/faker';

let futureDate = faker.date.future();
let recentDate = faker.date.recent();
let weekday = faker.date.weekday();

console.log(futureDate);
console.log(recentDate);
console.log(weekday);

该示例选取了未来和最近的日期以及某个工作日。

$ node main.js 
2023-01-22T16:26:38.376Z
2022-06-23T16:20:01.315Z
Wednesday

伪造随机值

faker 允许生成随机值,例如整数、uuid 或单词。

import { faker } from '@faker-js/faker';

let number = faker.random.numeric();
console.log(number);

let uuid = faker.datatype.uuid();
console.log(uuid);

let word = faker.random.word();
console.log(word);

let words = faker.random.words(6);
console.log(words);

该示例生成随机数、uuid、单词和一组六个单词。

$ node main.js
7
970441be-c5bb-4e7f-84a6-d0556b69bb2a
hacking
Switchable auxiliary Implementation Manors Corporate AI

伪造语言环境数据

faker 在一定程度上支持本地化数据。请注意,语言环境已完成到不同的级别。

import { faker } from '@faker-js/faker/locale/ru';

let firstName = faker.name.firstName();
let lastName = faker.name.lastName();

console.log(`Pаботник: ${firstName} ${lastName}`);

let month = faker.date.month();
let recentDate = faker.date.recent();
let rectentDate = faker.date.weekday();

console.log(month);
console.log(recentDate);
console.log(rectentDate);

该示例生成俄语的虚假数据。

$ node main.js
Pаботник: Blaise Sauer
январь
2022-06-24T07:29:27.397Z
Четверг

使用 JSON 服务器提供虚假数据

在下一个示例中,我们生成 JSON 数据并将其写入文件。该文件由 JSON 服务器提供。

$ npm i g json-server

我们安装json-server模块。

import { faker } from '@faker-js/faker';
import fs from 'fs'

function generateUsers() {

  let users = []

  for (let id=1; id <= 100; id++) {

    let firstName = faker.name.firstName();
    let lastName = faker.name.lastName();
    let email = faker.internet.email();

    users.push({
        "id": id,
        "first_name": firstName,
        "last_name": lastName,
        "email": email
    });
  }

  return { "data": users }
}

let dataObj = generateUsers();

fs.writeFileSync('data.json', JSON.stringify(dataObj, null, '\t'));

该示例生成一百个用户并将他们写入data.json文件。

$ json-server --watch data.json --port 3004

我们启动 JSON 服务器。服务器提供生成的 JSON 文件中的数据。

$ curl localhost:3004/data/3/
{
  "id": 3,
  "first_name": "Sheila",
  "last_name": "Bayer",
  "email": "Moshe.Walsh32@yahoo.com"
}

我们使用 curl 工具检索 ID 为 3 的用户。

我们展示了如何使用 Noderequest 模块在 JavaScript 中生成 HTTP GET 请求。

$ npm i request

我们安装模块。

import request from 'request';

request('http://localhost:3004/data?_start=4&_end=8', (err, resp, body) => {

    if (err) {
        console.error('request failed');
        console.error(err);
    } else {
        console.log(body);
    }
});

程序从 JSON Server 中获取数据,从索引 4(不包括)开始到索引 8(包括)结束。

$ node get_data.js
[
  {
    "id": 5,
    "first_name": "Cheyanne",
    "last_name": "Ernser",
    "email": "Amber.Spinka62@yahoo.com"
  },
  {
    "id": 6,
    "first_name": "Jeff",
    "last_name": "Bogisich",
    "email": "Bettie.Ritchie60@hotmail.com"
  },
  {
    "id": 7,
    "first_name": "Simone",
    "last_name": "Zemlak",
    "email": "Dorris49@gmail.com"
  },
  {
    "id": 8,
    "first_name": "Demond",
    "last_name": "Barrows",
    "email": "Nestor81@yahoo.com"
  }
]

在本文中,我们使用 faker.js 在 JavaScript 中生成假数据。

列出所有 JavaScript 教程。

未经允许不得转载:我爱分享网 » The faker.js tutorial

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏