利用Connect创建一个简单网站

首先我们要建立一个json文件导入connect模块:

​
{
    "name": "mywebsite",
    "version": "0.1.1",
    "dependencies": {
        "connect":"1.8.7"
    }
}

​

然后我们自己创建一个中间件request-time:

module.exports=function(opts){
    var time=opts.time||100;
    return function(req,res,next){
        var timer=setTimeout(function(){
            console.log(
            '\033[39m \033[91mis taking too long!'
            ,req.method
            ,req.url
            );
        },time);
        var end=res.end;
        res.end=function(chunk,encoding){
            res.end=end;
            res.end(chunk,encoding);
            clearTimeout(timer);
        };
        next();
    }
}

这个中间件返回一个函数,而这个函数的功能就是模拟处理超时访问的状态

然后我们创建服务器:

//sample.js
var connect = require('connect');
var time = require('./request-time');//引入我们自己创建的模块
var server = connect.createServer();//创建服务器
server.use(connect.logger('dev'));//利用logger中间件打印出dev格式的日志
server.use(time({ time: 500 }));//实现时间(我们自己创建的)中间件,并且传一个time值
//实现快速访问
server.use(function (req, res, next) {
    if ('/a' == req.url) {
        console.log(req.url);
        res.writeHead(200);
        res.end('Fast');
    } else {
        console.log(req.url);
        next();
    }
});
//是实现慢速访问
server.use(function (req, res, next) {
    if ('/b' == req.url) {
        //设置定时
        setTimeout(() => {
            res.writeHead(200);
            res.end('Slow!')
        }, 1000);
    } else {
        next();
    }
});
server.listen(3000);

我们用time接收了request返回的函数,并且后面传进了一个{time:500}的对象

然后我们试一下:

node sample.js

然后访问127.0.0.1:3000/a

页面出现  fast

终端打印出:

然后访问127.0.0.1/b

页面出现  slow!    终端打印出:

这里的GET /b 200 1006ms就是     server.use(connect.logger('dev'))

的logger中间件打印出来的日志,关于这方面后面的博客中会继续跟进,深入了解。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值