创建博客 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

snoopyxdy的博客

https://github.com/DoubleSpout

 
 
 

日志

 
 

rrestjs简单入门教程  

2012-02-17 16:30:31|  分类: node |  标签: |举报 |字号 订阅

rrestjs v0.9.3版本已经发出了,整体性能和API代码风格还是很令我满意的,自夸一下嘿嘿,虽然已经很简单易用了,但是我还是要为想尝试rrestjs框架的朋友写一份超级简单的入门教程。

老规矩 项目地址:https://github.com/DoubleSpout/rrestjs

现在我们就开始rrestjs框架之旅吧,如果您有幸用过expressjs,那以下绝对能令你超乎想像的轻松和简单。

step1、搭建环境
rrestjs目前仅在linux系统下测试通过,windows一直没有时间去测试,所以暂且定义您用的是linux系统,并且您需要先安装好一份版本号高于0.6.6的node.js,同时如果您想要使用rrestjs的全部功能,您还需要安装好mongodb 2.0以上版本,当然mongodb并不是必须的。

step2、下载安装rrestjs

您可以去上面的github项目地址下载最新的rrestjs框架;
也可以执行: npm install rrestjs  然后  npm update rrestjs
这样您就安装了最新版本的rrestjs框架了,写本文的时候是v0.4版本

step3、配置rrestjs

我们可以写一个简单小例子来将rrestjs运行起来,您需要先在您的linux系统下创建一个文件夹,我们暂命名为hello。
然后再在文件夹内建立一个配置文件文件夹,我们暂定为config,并在其文件夹内创建一个config.js文件。
紧接着你可以打开以下网址:https://github.com/DoubleSpout/rrestjs/blob/master/config/example_config.js
或者打开/node_modules/rrestjs/config/example_config.js
将其代码复制粘贴到刚刚创建的config.js文件中,这样就完成了我们整个rrestjs的配置拉。

step4、hellow world every one

最后让我们一起来创建一个简单的应用,当用户访问config.js中的端口,我们给它响应一个hello world吧!
在hello文件夹下创建一个app.js文件,还记得hello文件夹吗?就是我们在step3创建的哦。
然后将以下代码copy到app.js中,
再运行 $node app.js 就可以去浏览器敲地址访问拉!
示例代码:

module.exports.conf = require('./config/config');//详细说明见github上
var 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);//读取配置文件的监听端口号,只需修改配置文件即可轻松部署

怎么样,无论是配置还是代码风格都要比express简单和易懂不少吧,具体的配置文件说明我想在您拷贝config.js文件时已经看到了很多详细的注释了,有什么问题您可以发电子邮件给我:snoopyxdy@163.com 或者 qq:53822985 (加好友请注明哦)

extra、额外的小惊喜
在您正常运行上述这个例子后,您觉得每次大家都输出 ‘hello world’ 太没有个性了,您想要输出一点有个性的,于是您用您超级漂亮的编辑器将app.js的代码 ‘hello world’ 改成了 ‘ fuck world’。然后您将屏幕切换至ssh窗口,准备按下ctrl+c,终止app.js进程然后重启,因为node.js是单进程的,所以有任何代码的改动都必须手动的去重启node.js进程。
但是!!但是!!请您高抬贵手,先不要按ctrl+c,将窗口切换至浏览器,点一下刷新。您发现了屏幕输出了 ’fuck world‘ 了
这就是rrestjs内置的clusterplus模块,算是捆绑销售吧,他将让您的开发更加轻松。

the end、roa & restful
至此,相信您已经爱上了rrestjs了,但是您在想以前用express的时候不是有很多路由要设置吗?比如:app.get('/', function(req, res, next){});等等,在您使用了rrestjs以后忘记这些吧,rrestjs有它自己独特的restful路由处理方式。
下面是一段rrestjs的示例代码(这段代码不能直接运行哦!

module.exports.conf = require('./config/config');//加载配置文件,必须放在rrestjs加载之前
var http = require('http'),
rrest = require('rrestjs'),
server = http.createServer(function (req, res){

//这里是主入口,可以根据您的需要自由添加一些东西,而express并没有开放主入口给用户
try{
require('./controller/'+req.path[0])[req.path[1]](req, res);

//这里是核心部分,执行指定控制器中的指定方法,将req和res传参进去
}
catch(err){
restlog.info(err);//日志方法,例如 restlog.error('错误msg');有error,info,等多种等级,详细见github api
res.statusCode = 404;//将响应头设置为404
res.render('/e404.jade');//输出404页面
}
}).listen(rrest.config.listenport);

rrest= rrest; //将rrest对象升级为全局变量

相信聪明的您看了这段代码就明白rrestjs是怎么处理路由的拉!最后需要说明的是req.path数组,这个数组是将用户请求的路径根据'/'分割而成的,最少2位,不足2位会以‘index’补足,举个例子,用户访问 www.rrestjs.com,则req.pah值为['index', 'index'];如果用户访问:www.rrestjs.com/user/face,则req.path值为['user', 'face']
  评论这张
 
阅读(4719)| 评论(16)
推荐 转载

历史上的今天

最近读者

热度

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2014