node_exsvr 是一个简单的web服务器,为web服务做了很多基础工作
如果你正在制作一个简单高效快速开发的web服务,这是一个不错的选择
支持get/post路由
支持全局handle路由(没有cookie和session的支持,比get和post路由的效率更高)
支持cookie
支持session
支持json输入和输出
支持body parser
支持设置多个静态文件目录
支持模拟慢网速环境
Install/安装:
npm install node_exsvr
==Use/使用==
var app = require('node_exsvr').create();
app.listen();
app.get('/',function(req,res){
res.html('你好,世界!');
});
==深入使用==
var app = require('node_exsvr').create();
//监听,默认80端口,也可以指定:app.listen(8080,'test.com');
app.listen();
//app.config.simulaSpeed = 1024*10;//静态文件模拟慢网速环境,如果设置为0则不模拟,否则设置为每秒的byte数量
//get路由
app.get('/',function(req,res){
//使用querystring
var userid = req.querys.query.userid //or req.get('userid');
//使用cookie
if(!req.cookie('uid')) {
req.setCookie({key:'uid',value:'123'});
}
//使用session
if(req.session.uid===undefined){
req.session.uid = Math.random();
}
console.log(req.session.uid);
res.html('你好,世界!');//输出html
//res.json({msg:'hello,world'});//输出json
//res.js('var a=1;');//输出js
//res.css('body{color:#000000}');//输出css
//res.text('some plain text');//输出文本
});
//post路由
app.post('/',function(req,res){
//使用body parser
var post_json = req.body;
});
//全局handle路由(在get/post路由的次序后面)
app.handle(function(req,res,next){
res.html(req.querys.pathname);
//next();如果当前请求不符合要求可以抛出next 给后续的handler
});
//第二个handle路由,前面如果调用next则抛到这里
app.handle(function(req,res,next){
console.log(req.querys.pathname);
});
//单个静态文件支持(会缓存至内存中)
app.get('/admin',app.staticHandler('admin.html'));
//静态文件目录支持(不会缓存至内存中,默认文档是“index.html”)
app.static('/login','./login');
//另外一个静态目录
app.static('/images','./../images');