awy

    2.0.3 • Public • Published

    awy框架

    awy是一个使用NodeJS开发的Web框架,基于async/await关键字。

    如果你使用过1.6.6以前的版本,注意新版本进行了比较大的更新,路由会划分在请求中。

    比如,/a支持GET和POST请求,之前的版本是在/a路径中记录GET的回调函数和POST的回调函数。

    而新版是先去查找方法(GET、POST···),如果在路由表中存在,则执行请求。

    这样的好处是路由根据请求方法分组,相互之间不会有冲突,比如你用/*处理所有请求,之前的方法是会拦截所有的请求,而新的处理方式把它划分到某一请求类型中。 最新版本对获取URL参数、路由参数、POST提交的参数的方式进行了更新。

    支持功能

    • 中间件
    • 路由
    • 路由分组
    • 中间件按照路由规则匹配执行
    • 解析Body数据
    • 解析上传的文件
    • 启用守护进程模式
    • 配置HTTPS

    使用示例

     
    const awy = require('awy');
     
    var ar = new awy();
     
    /*
    一定要注意的是:
        回调函数要写成async rr的形式。
    rr是打包了request和response的对象:
        {
            req,
            res
        }
        
    */
     
    ar.get('/', async rr => {
        rr.res.Body = 'success';        
    });
     
    ar.run('localhost', 8080);
     
    
    curl 'http://localhost:8080/'
    
    输出结果:
      success
    
    

    获取URL参数(QueryString参数)

     
    const awy = require('awy');
     
    var ar = new awy();
     
    ar.get('/test', async rr => {
        var {name} = rr.req.Param;
        console.log(name);
        rr.res.Body = name;
    });
     
    ar.run('localhost', 8080);
     
    
    curl 'http://localhost:8080/test?name=helo'
    
    输出结果:
      helo
    
    

    获取POST提交的数据

     
    const awy = require('awy');
     
    var ar = new awy();
     
    ar.post('/pt', async rr => {
        var {username} = rr.req.BodyParam;
        rr.res.Body = username;
    });
     
    ar.run('localhost', 8080);
     
    
    curl 'http://localhost:8080/pt' -d 'username=albert'
    
    返回结果:
      albert
    
    

    完整文档

    Install

    npm i awy

    DownloadsWeekly Downloads

    70

    Version

    2.0.3

    License

    MIT

    Unpacked Size

    32 kB

    Total Files

    3

    Last publish

    Collaborators

    • ant-army