使用它非常简单
可以看个 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 1
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: 有什么好的建议随时可以告诉我! |