Mockjs Lite

仿真数据生成器
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 国产
投 递 者 乌靖
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Mockjs Lite,一个极简的仿真数据生成器

特别说明

这个项目参(抄)考(袭)自 Mock.js,但为什么要重复造轮子呢?

  1. 因为部分功能不好用,比如没有随机手机号,没有时间区间,占位图不能自己切源,等等。

  2. 不够自由,不方便插件化自定义功能,不方便局部定义项目友好的数据。

  3. 因为太大了,一个mock而已,为什么要这么大。

  4. 因为看了源代码,就想重写了。

好吧,就当是练手了。

PS: 采用 ES6 重写,大部分功能代码抄袭 Mock.js,好用的留着,不好用的,自己改了。

Mockjs-Lite 与 Mockjs 差异说明

  1. 移除了 ajax 部分,因为 xhr 劫持方式,确实不是很友好。(最好针对 jquery, axios 等插件化劫持)

  2. 移除了 Path, RegExp 功能,感觉不是特别实用。

  3. 移除 Random.natural 方法,其实就是单词太难写,完全可以 Random.integer Random.int 代替。

  4. 移除 Random.dataImage 方法,很鸡肋,非常的鸡肋。

  5. 精简了地址库,由原先的 113k 精简到了 15k,只保留了北上广之类的一线二线城市。

  6. Function 功能优化,可以用 this 当前兄弟节点以及 root 全部对象。

  7. Random.datetime 功能优化,增加时间区间,以及时间戳,10位时间戳的支持。

  8. Image 部分优化,支持切换占位图源,默认七牛占位图。

为什么要用 Mockjs-Lite?

  • 轻量和敏捷

  • 简单的语法

  • 直观的结果

  • 方便自定义

  • 编不下去了

用法

在项目中添加 Mockjs-Lite

$ yarn add mockjs-lite # 推荐
# 或者
$ npm i -S mockjs-lite

使用 Mockjs-Lite

// 使用 Mock
const { Mock } = require('mockjs-lite');
const data = Mock.mock({
  // 属性 list 的值是一个数组,其中含有 1 到 10 个元素
  'list|1-10': [{
    // 属性 id 是一个自增数,起始值为 1,每次增 1
    'id|+1': 1
  }]
});
// 输出结果
console.log(JSON.stringify(data, null, 2));

或者 es6

import { Mock, Random } from 'mockjs-lite';

const data = Mock.mock({
  // 属性 list 的值是一个数组,其中含有 1 到 10 个元素
  'list|1-10': [{
    // 属性 id 是一个自增数,起始值为 1,每次增 1
    'id|+1': 1
  }]
});

console.log(JSON.stringify(data, null, 2));
console.log(Random.now());

PS: 别吐槽,例子抄 Mock.js 的 wiki 文档。。

相关

  • Mock.js - 对,就是抄的他。。

  • 免费且开源,eoLinker拥有强大的免费产品,在过去的一年里面eoLinker已迭代超过300个版本,优化近千功能点,同时秉承开源精神,提供国际化的开源产品(支持中文简体、繁体以及英语),为广大的开发、测试以及管理人员提供专业的产品。 同类产品中最强大的API文档管理系统,支持目前HTTP/HTTPS协议以及所有主流请求方式,并且提供了强大的版本管理功能,可以随时随地回滚API信息。同时支持数据

  • 免费且开源,eoLinker拥有强大的免费产品,在过去的一年里面eoLinker已迭代超过300个版本,优化近千功能点,同时秉承开源精神,提供国际化的开源产品(支持中文简体、繁体以及英语),为广大的开发、测试以及管理人员提供专业的产品。 同类产品中最强大的API文档管理系统,支持目前HTTP/HTTPS协议以及所有主流请求方式,并且提供了强大的版本管理功能,可以随时随地回滚API信息。同时支持数据

 相关资料
  • translated_page: https://github.com/PX4/Devguide/blob/master/en/simulation/airsim.md translated_sha: RETRANSLATE AirSim仿真 AirSim是一个基于虚幻引擎(Unreal Engine)的开源、跨平台无人机模拟器。它可以使用硬件在环(HITL)或软件在环(SITL)的方式为Pixh

  • translated_page: https://github.com/PX4/Devguide/blob/master/en/simulation/hitl.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e 硬件在环仿真 硬件在环仿真指的自驾仪与仿真器相连并且所有的代码运行在自驾仪上的仿真。这种方法的优点是可以测试代码在实际处

  • Gazebo是一个自主机器人3D仿真环境。它可以与ROS配套用于完整的机器人仿真,也可以单独使用。本文简要介绍单独的使用方法。 {% raw %} To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video {% endraw %} {%

  • translated_page: https://github.com/PX4/Devguide/blob/master/en/simulation/sitl.md translated_sha: b522243efef9deb5e2d3ae7bd03ae9ed0eee3418 Multi-Vehicle Simulation This tutorial explains how to simul

  • translated_page: https://github.com/PX4/Devguide/blob/master/en/simulation/sitl.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e 软件在环仿真 (SITL) 软件在环仿真是在主机上运行一个完整的系统并模拟自驾仪。它通过本地网络连接到仿真器。 设置成如

  • Simulators allow PX4 flight code to control a computer modeled vehicle in a simulated “world”. You can interact with this vehicle just as you might with a real vehicle, using a QGroundControl, offboar

  • 我正在用大量粒子在Python中做一个分子动力学模拟。在这里,我必须跟踪所有500个或1000个粒子的x位置,y位置,z位置,x速度,y速度,z速度,x加速度,y加速度,z加速度,x力,y力,z力,势,以及系统在每个时间间隔的动能,势能,总能量。为了保存这些数据,我目前正在以以下方式将它们写入一个文件: 所以如果有500个粒子,那么数据文件中的每一行将有7000列。这似乎不是一种保存数据的好方法。

  • 3.3.仿真器 在仿真器(Emulator)上执行程序,与在真机上执行的效果是一样的。这是因为仿真器是机器码级别的仿真,其机器码与真机相同。 Tip: 模拟器(Simulator)与仿真器(Emulator)名字很像,但有着本质的不同。“仿真器”的意思是模仿真机执行机器码的过程,接近于“虚拟机”。而“模拟器”是在相对较高的层次上模拟代码的行为。Android SDK附带了一个基于QEMU的仿真器。