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 教程。
