v0.9.0
1、补完了一些测试代码
2、新增加api:request.param 会将所有客户端发送过来的参数,不论get或者post等的参数放入这个对象。
3、新增手动路由功能:
用户可以再config.js新增这样的设置:1
2
3
4
5
6
7
8manualRouter:{
"get:/user/face":function(req, res){res.send('change face')},
"post:put:/user/info":function(req, res){res.send('get not access!')},
"/user/all":function(req, res){
if(!req.session.count) req.session.count = 0
res.send('all can access!'+(req.session.count++));
},
}
设置规则:method:method:url
注意:url必须是“/”开头的。
如果不加method则表示该 url 接受任何方式的 http 请求
4、修复了模版静态缓存可能存在的缓存雪崩效应
5、修复了不依赖jade和ejs模块的小问题
v0.9.1
1、修复了$.post(‘/‘, {a:[1,2,3],b:{a:{t}}}) 这类的请求非KEY-VALUE格式参数的错误
v0.9.2
1、修复了0.9.1的执行2次post请求回调函数的bug
2、完善了部分测试用例
3、新增加API更加简洁,去掉了rrest,当然原有的程序还是可以继续使用rrest
例如:
原来执行hello world如下代码:1
2
3
4
5var http = require('http'),
rrest = require('rrestjs'),
server = http.createServer(rrest(function (req, res){//完全原生的node.js手册代码风格,没有学习门槛
res.send('hello world everyone!'); //rrestjs封装了一个res.send方法,用来响应客户端的请求
})).listen(rrest.config.listenPort);//读取配置文件的监听端口号,只需修改配置文件即可轻松部署
现在可以不用写rrest了,而是直接fn,如下:更加简洁明了1
2
3
4
5var http = require('http'),
rrest = require('rrestjs'),
server = http.createServer(function (req, res){//完全原生的node.js手册代码风格,没有学习门槛
res.send('hello world everyone!'); //rrestjs封装了一个res.send方法,用来响应客户端的请求
}).listen(rrest.config.listenPort);//读取配置文件的监听端口号,只需修改配置文件即可轻松部署
v0.9.3(救火版本)
1、紧急修复了由于path.normalize函数在windows下出现的意外情况,重新写了normorlize方法使windows下可以正常运行rrestjs框架
2、修复了parse整合css和js文件可能存在的相对路径安全漏洞
3、增加了一项参数带“.”的解析功能,比如:
客户端请求user.name=aaa && user.sex = male
现在将会自动解析成:1
2
3{
user:{name:'aaa', sex:'male'}
}
4、修改了部分测试用例,使测试更加健壮,比如深层次的jade模版等
v0.9.4
1、修复了get请求下无法获取req.param的bug
2、增加和完善了一些测试用例,增加main.js测试总开关,只要执行main.js会自动执行所有测试用例
3、新增加一项配置:
1 | ClusterReloadExcept:['.swo', '.swp', '.swn', '.swx', '.bak'],//排除后缀名是此数组内的文件修改的重启进程 |
如果开启开发者模式,则后缀名为数组内的文件修改不会引起项目重启
v0.9.5
1、增加了自定义路由占位符,比如可以这样:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20manualRouter:{
"get:/user/face":function(req, res){res.send('change face')},
"post:put:/user/info":function(req, res){res.send('get not access!')},
"post:put:/user/info/{userid}":function(req, res){res.send('get user id!')},
//{}花括号内的为变量占位,表示此段url为可变参数
"/user/all":function(req, res){
if(!req.session.count) req.session.count = 0
res.send('all can access!'+(req.session.count++));
},
}
2、增加response.r403()方法,快捷相应403forbidden
3、增加response.r500()方法,快捷相应500内部错误
4、增加npm install -g rrestjs,
直接生成项目文件夹: rrestjs -p /tmp/foo && cd /tmp/foo;
也可以使用开发者模式,带自动重启(windows下无效) rrestjs -p /tmp/foo -d && cd /tmp/foo;
帮助请参考rrestjs -h
5、增加了测试用例
v0.9.9版本
1、增加了dev模式,可以通过命令node app.js -d 或者node app.js –dev 进入开发模式,可以调用开发模式的配置
2、正常打印了restlog.error 下的错误堆栈调用错误列表
3、修正了staticMaxAge这个语法错误
v0.9.10版本
1、增加了多进程可能冲突记录日志的问题,将多进程记录了到多个文件日志
2、修正了上传文件多余的属性问题
3、修正了api,去除了如下的代码1
2
3
4
5server = http.createServer(rrest(function (req, res) {
res.send('hello world');
})).listen(rrest.config.listenPort);
去除上面代码红色部分,同意api为:1
2
3
4
5server = http.createServer(function (req, res) {
res.send('hello world');
}).listen(rrest.config.listenPort);
4、如果不是创建http或者https服务器想使用rrestjs框架的话可以用如下代码:1
2
3
4var rrest = require('rrestjs');
rrest(function(){
//rrestjs框架加载完毕会执行这个回调函数
})