使用它非常简单
可以看个 DEOM
// 定义一个用户类型 yod.type('User', { firstName: '@First', myFirstNameLength: '@Self.firstName.length', lastName: '@Last', '@Self.lastName': 'is my family name', fullName: '@Self.firstName @Self.lastName', nickName: '@Nick', chineseName: '@ChineseName', age: '@Age(adult)', to100: '` 100 - @Self.age `', telephone: '@Tel', avatar: '@Avatar', others: { words: 'My name is @Parent.fullName, call me @Parent.nickName.', bestFriends: '@Nick.repeat(2, 3).join(", ")', favouriteLetter: '@([A, B, C]).sample' } }); // 重复生成 2 - 4 个用户 console.log(yod('@User.repeat(2, 4)'));
它会用你定义的 User 结构体去生成一个数组,包含 2-4 个 User
![]() | 1 endoffight 2015-04-28 07:42:16 +08:00 via Android 下次前端再催我,我就给他看这个 |
![]() | 2 qiu8310 OP @endoffight 哈哈,赞。不过记得要先由后台确认好数据的结构。 |
![]() | 3 kepenj 2015-04-28 12:17:47 +08:00 下次后端在没有,我就给他看这个 |
![]() | 4 lincanbin 2015-04-28 12:26:11 +08:00 以前我就是这样的,先放一些假数据给前端用着先直接按照文档放数据上去。 另外node.js作为后端,在国内并不多见。 |
![]() | 5 Mcatt 2015-04-28 12:48:47 +08:00 好东西,下次试用一下 |
![]() | 6 qiu8310 OP @lincanbin 嗯,是的,这是个问题。 不过此版本是支持游览器上直接 Mock 数据的,不需要后台,如果用 jquery 可以用它自带的 ajaxBefore 劫持请求,生成 mock 数据。 另外,我是有计划写个后端的网站程序来支持此工具。 |
7 Nick 2015-04-28 13:45:06 +08:00 躺着被@ |
![]() | 8 whwei 2015-04-28 13:51:19 +08:00 写过一个响应指定数据的服务器,正好缺这样一个工具产生 mock 数据,感觉 LZ 这个比 mockjs 简单直接好多。。已 star。 |
![]() | 9 qiu8310 OP @whwei 我就是用 mockjs 不爽才想到自己写一个的。 你的的响应指定数据的服务器是 open sourced 的吗? |
![]() | 11 fising 2015-04-28 14:25:01 +08:00 Fiddler 不就行了么 |
12 zlexdl 2015-04-28 14:44:25 +08:00 看样子挺好的,暂时用不上,给你一个星,留着以后用。 |
![]() | 13 whwei 2015-04-28 14:50:09 +08:00 @qiu8310 是,其实就是一个 express 写的服务器,因为就自己用用,文档什么都还没写。https://github.com/whwei/mockserver |
![]() | 14 thisnull 2015-04-28 23:55:48 +08:00 正好需要这个. |
![]() | 15 qiu8310 OP @whwei 谢谢,可以参考下。 我后期打算做个类似的服务端放到 heroku 或 bae 上给普通用户用,这样他们可以直接 ajax 请求远程服务,就不用在本地 mock 了。 不过最近太忙了,不知道什么时候可以腾出时间来做。 |
![]() | 16 qiu8310 OP |
![]() | 17 qiu8310 OP 更新了一个版本,添加了测试,并且修复了上一个版本中的一些很明显的问题! |
18 UG1u8zhQxhvqXNrk 2015-06-03 23:35:15 +08:00 yod.type('User', { firstName: '@First', lastName: '@Last', sex: '@Sex', fullName: '@Self.firstName @Self.lastName', nickName: '@Nick', chineseName: '@ChineseName', age: '@Age(adult)', to100: '` 100 - @Self.age `', // 执行 JS 语句 telephone: '@Tel', avatar: '@Avatar', others: { words: 'Hello, my name is @Parent.fullName, you can call me @Parent.nickName.', bestFriends: '@Nick.repeat(2, 3).join(", ")', myFirstNameLength: '@Parent.firstName.length', favouriteLetter: '@([A, B, C]).sample', nc:{nike:['@Nick']} } }); @qiu8310 处理这样的结构 nc:{nike:['@Nick']} 会出问题,不知道什么情况 |
![]() | 19 qiu8310 OP @burgleaf 我测试没有问题,你复制到 [http://qiu8310.github.io/yod-mock/](http://qiu8310.github.io/yod-mock/) 这里看下 |
![]() | 20 qiu8310 OP @burgleaf url 写错了,以为它用了 markdown,重发一下地址: http://qiu8310.github.io/yod-mock/ |
21 UG1u8zhQxhvqXNrk 2015-06-05 21:55:42 +08:00 ![]() yod.type('User', { firstName: '@First', lastName: '@Last', sex: '@Sex', fullName: '@Self.firstName @Self.lastName', nickName: '@Nick', chineseName: '@ChineseName', age: '@Age(adult)', to100: '` 100 - @Self.age `', // 执行 JS 语句 telephone: '@Tel', avatar: '@Avatar', others: { words: 'Hello, my name is @Parent.fullName, you can call me @Parent.nickName.', bestFriends: '@Nick.repeat(2, 3).join(", ")', myFirstNameLength: '@Parent.firstName.length', favouriteLetter: '@([A, B, C]).sample', nc:[{nike:'@Nick'},{cName:'@ChineseName'}] } }); // 重复生成 2 - 4 个用户 console.log(yod({ status: 'ok', list: '@User.repeat(2, 4)' })) 是这样有问题。。nc:[{nike:'@Nick'},{cName:'@ChineseName'}] 我也发错了 |
22 UG1u8zhQxhvqXNrk 2015-06-05 21:56:12 +08:00 |
23 Nick 2015-06-05 22:35:59 +08:00 via iPhone 又躺着被@ T_T |
![]() | 24 qiu8310 OP @burgleaf 谢谢指出问题,是我没处理数组中的对象,已经更新了,你可以看 http://qiu8310.github.io/yod-mock/ 你只要删除现在的 yod-mock 模块,重新安装即可(yod-mock 的代码没改,主要是改了它的核心模块 https://github.com/qiu8310/yod 的代码) PS: 有什么好的建议随时可以告诉我! |