http模块

2020-04-26  本文已影响0人  _前端码农_

特性:

  1. 单线程:减少了内存开销
  2. 非阻塞I/O, 不会傻等I/O语句结束,而是会执行后边的语句
  3. 事件机制,时间环:不管是新用户的请求,还是老用户 I/O完成,都将以事件方式加入时间环,等待调度

response

// createServer:
var server = http.createServer(function(req, res ){
    if(req.url=='/'){
        console.log('服务器接收到了请求')
        // .writeHead 响应头
        //1. res.writeHead(200, {"Content-Type":"text/plain; charset=UTF8})
        //2. res.setHeader("Content-Type", "text/html");
        res.write('<h1>这是一个标题</h1>');
        res.end(); // 必须有end,不然服务器不停止
        // res.end('这里是返回页面的内容'); 
    }
}).listen(3000, 'localhost' )

request

// 识别url
var url= require('url');
var path = url.parse(req.url)
var path = url.parse(req.url, true ) // .parse 把url分成好几部分组成的对象

href:全部
protocol: http:
slashes: 是否有 斜线
host:主机和端口
pathname:路径
search:问号以及以后的内容
path:pathname+search

遍历文件夹

// 遍历album里边左右的文件、文件夹
fs.readdir('./album/', function(err,files){
    //files是一个存放文件名的数组
    var wenjianjia = [];
    // 迭代器就是强行把异步变成同步
    (function iterator(i){
        if(i == files.length){
            return;
        }
        fs.stat('./album/' + files[i], function(err,stats){
            // 检测是不是文件夹 
            if(stats.isDirectory()){
                wenjianjia.push(files[i])
            }
            iterator(i+1)
        })
    })(0)
})

fs

fs.mkdir // 创建文件夹
fs.rmdir // 删除文件夹
fs.stat(path,callback); // 返回文件或文件夹的状态
fs.readdir // 读取文件夹里的所有文件
fs.readFile // 读取文件 
上一篇 下一篇

猜你喜欢

热点阅读