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