我正在尝试使用模拟数据生成器创建数百万个模拟数据,我已经安装了此节点模块npm install mocker-data-generator
我写了下面的脚本来生成100000条记录,当我尝试执行该文件时,我遇到了以下错误:
mockData.js
var mocker = require('mocker-data-generator').default
var fs = require('fs');
var cat = {
id: {
chance: 'guid'
},
name: {
faker: 'name.firstName'
},
lname: {
faker: 'name.lastName'
}
};
var json = JSON.stringify(mocker().schema('users', cat, 20000));
fs.writeFile('myjsonfile.json', json, 'utf8', fileWritten);
function fileWritten() { console.log('json file saved'); }
执行命令: node mockData.js
错误:
(node:13420) [DEP0013] DeprecationWarning: Calling an asynchronous function without callback is deprecated.
我想将这100000个文件写入文件,如何在此脚本中实现它。我遵循了here
中的示例我是Node.js的新手-刚刚开始探索-如果有人可以帮助我解决此问题,这将非常有用。预先感谢。
答案 0 :(得分:1)
我认为您有两个问题,第一个是您的导入语句失败,或者您尝试使用以下替代方法:
var mocker = require('mocker-data-generator').default
第二,您打算将生成的模拟数据写入文件,您将需要使用'fs'节点软件包:
var fs = require('fs');
fs.writeFile('myjsonfile.json', mockedJSONData, 'utf8', callback);
在写入文件后将“回调”更改为要调用的函数。
答案 1 :(得分:1)
更新: 这将生成数据并将其保存在文件中。
在这里,我们首先生成1万个模拟数据,然后将这些数据保存在名为myjsonfile.json
的文件中。
var mocker = require('mocker-data-generator').default;
const util = require('util');
const fs = require('fs');
var cat = {
id: {
chance: 'guid'
},
name: {
faker: 'name.firstName'
},
lname: {
faker: 'name.lastName'
}
};
mocker()
.schema('cat', cat, 10000)
.build((err, data) => {
if (err) {
console.log(err);
} else {
// console.log(util.inspect(data, { depth: 10 }))
fs.writeFile('myjsonfile.json', JSON.stringify(data), 'utf8', (err) => {
if (err) {
console.log(err);
} else {
console.log('Done');
}
});
}
})