#Sadaharu #####这是一个简易的前端开发工具,使用代理的方法替换线上静态文件,类似于fiddler的autoresponder,但比其更加强大 可以实现:
1、替换通过代理的请求所返回的数据或文件,支持combo文件
2、模拟慢速加载
3、支持自定义host
##安装
$ git clone git@github.com:wyicwx/sadaharu.git
$ cd sadaharu
$ npm install
##使用
$ node main.js
$ cp list.js.default list.js
$ cp hosts.js.default hosts.js
$ cp config.js.default config.js
1.pac文件
自动配置URL: http://localhost:port/proxy.pac
2.代理端口
设置代理为: http://localhost:port
###依赖: mime express colors ejs
###配置: config = { 'pathBase': '/data/', 'port': 8082, 'slowLoad': true, 'slowBlockByte': 1*1024, 'slowTimeInterval': 100, "slient": true, "pacFile": "proxy.pac" }
port 代理端口
slowLoad 慢速模式开关
slowBlockByte 发送字节数
slowTimeInterval 发送间隔
slient 安静模式
pacFile指定pac文件模板
###替换规则 规则在list.js内定义
module.exports = {
'www.xxx.com/index.html': {
'disable': false,
'ext': 'text/html',
"compressHtml": false,
'respond': [
'/data/index.html'
]
}
}
关于匹配规则
1.可以使用js正则匹配,规则内用()包起来的部分不转义,其余部分进行字符转义 2.
关于respond
1.使用$#(#为数字)可以替换规则内匹配到的部分
2.可以使用相对路径文件、绝对路径文件、字符串、网络文件
3.用下面的方法指定模板文件,并指定参数参数值同2
respond: [
{
src: '/data/jsTmpl.js',
data: {
param1: 'param1 path',
param2: 'string',
param3: 'network file'
}
}
]
关于ext
用于指定返回http头的content-type
关于compressHtml
压缩html文件为字符串,作拼接js模板文件用
##Hosts 在hosts.js文件内指定替换的host
module.exports = {
'www.xxx.com': '127.0.0.1'
}
##其他 由于浏览器有缓存,所以使用代理pac文件的方式当规则或者host有修改时必须重新获取pac文件才能生效
##测试用例 使用mocha测试(不断完善中)
$ mocha