自定义资源处理函数

当内置的资源处理函数无法满足自己需求的时候,也可以很方便的添加一个自定义的资源处理函数。假定我们希望将符合POST /data/***特征的请求以mockup数据返回,但是mockup的数据放在src/mockup目录下面,那么我们可以添加一个自己的处理函数mockup,同时配合file来完成这个工作。

1
2
3
4
5
6
7
8
9
10
11
12
13
exports.getLocations = function () {
return [
...
{
location: /^\/data\//,
handler: [
mockup(),
file()
]
},
...
];
}

其中mockup的实现很简单,就是把pathname的内容修改一下,后续交给file处理即可。

1
2
3
4
5
6
function mockup() {
return function( context ){
var pathname = context.request.pathname;
context.request.pathname = '/src/mockup/' + pathname + '.json';
}
}