通过node+mock快速生成模拟数据json文件

createData.js

var fs = require('fs');
var Mock = require('mockjs');


function myMock(set, num) {
    let o = {};
    let key = 'value|' + num;
    o[key] = [set];
    let data = Mock.mock(o);
    return data;
}

function writeData(url, set, num) {
    let d = myMock(set, num);
    fs.writeFile(url, JSON.stringify(d.value,null,"\t"), function(err) {
        if (err) {
            return err;
        }
    })
}

function createData(url, set, num) {

    fs.readFile(url, 'utf8', function(err, data) {
        if (err) {
            //文件不存在则自动生成文件
            writeData(url, set, num)
        } else {
            // 文件存在,且内容为空数组
            if (JSON.parse(data.toString()).length <= 0) {
                writeData(url, set, num)
            } else {
                 console.log('文件数组为非空,不支持覆盖已有文件内容')
            }
        }
    })
}


module.exports = createData;

app.js

var init = require('./createData.js');
var Mock = require('mockjs');
let Random = Mock.Random;
init('./json/courses.json',{'id|+1':new Date().getTime()},20);//参数1:生成文件路径;参数2:Mock语法的字段设置;参数3:数据条数;
node app.js
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Mock.js 生成模拟数据,需要三个步骤: 1. 定义数据模板 Mock.js 使用一种类似于模板的语法,可以定义各种类型的数据模板,例如: ```javascript const Mock = require('mockjs') // 定义一个数据模板 const data = Mock.mock({ 'list|1-10': [{ 'id|+1': 1, 'name': '@cname', 'gender|1': ['男', '女'], 'age|18-60': 1, 'email': '@EMAIL' }] }) console.log(data) ``` 上述代码定义了一个包含 "list" 属性的数据模板,"list" 属性的值是一个数组,数组中包含 1 到 10 个元素,每个元素包含 "id"、"name"、"gender"、"age" 和 "email" 五个属性,这些属性的值可以通过 Mock.js 提供的语法来生成。 2. 生成模拟数据 定义好数据模板之后,就可以使用 `Mock.mock()` 方法来生成模拟数据了,例如: ```javascript const Mock = require('mockjs') // 定义一个数据模板 const data = Mock.mock({ 'list|1-10': [{ 'id|+1': 1, 'name': '@cname', 'gender|1': ['男', '女'], 'age|18-60': 1, 'email': '@EMAIL' }] }) // 生成模拟数据 const result = data.list console.log(result) ``` 上述代码中,我们通过 `Mock.mock()` 方法生成模拟数据模拟数据的格式和数据模板是一致的,只是实际的值是通过 Mock.js 生成的。 3. 使用模拟数据 生成模拟数据之后,就可以在前端代码中使用这些数据了,例如: ```javascript const Mock = require('mockjs') // 定义一个数据模板 const data = Mock.mock({ 'list|1-10': [{ 'id|+1': 1, 'name': '@cname', 'gender|1': ['男', '女'], 'age|18-60': 1, 'email': '@EMAIL' }] }) // 生成模拟数据 const result = data.list // 使用模拟数据 result.forEach(item => { console.log(`${item.name}(${item.gender},${item.age}岁,${item.email})`) }) ``` 上述代码中,我们通过 `forEach()` 方法遍历了模拟数据,并输出了每个元素的属性值。 以上就是使用 Mock.js 生成模拟数据的基本步骤,希望可以帮助到你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值