View on GitHub

Node exsvr

node_exsvr 是基于NodeJs的一个易于使用的web服务器,为web服务做了很多基础工作,适用在需要高性能,快速响应的场合

Download this project as a .zip file Download this project as a tar.gz file

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');