模块

buffer

创建buffer对象的方法

  • 直接创建长度为12的代码

    var buff = new Buffer(12);//创建长度为12
    console.log(buff);
    buf1.fill(255,0);
    //fill(填充的值,开始位置,结束位置(没有既全部));
    console.log(buff);
    
  • 通过数组

    var buff = new Buffer([1,255,0xb3]);
    console.log(buff);
    
  • 通过字符串

    var buff = new Buffer(“你好”);
    console.log(buff);
    
  • 将buffer转成字符串通过toString

    var buff = new Buffer([0xe5, 0x94, 0x90, 0xe8, 0x8f, 0x9c, 0xe4, 0xb9, 0x9f]);
    console.log(buf4.toString())
    
  • Node中推荐使用的方式

    var buff = new Buffer([0xe5, 0x94, 0x90, 0xe8, 0x8f, 0x9c, 0xe4, 0xb9, 0x9f]);
    var buff = new Buffer([0xe5, 0x94, 0x90, 0xe8, 0x8f]);
    var buff = new Buffer([0x9c, 0xe4, 0xb9, 0x9f]);
    console.log(buf4.toString());
    console.log(buf5.toString());
    //占用的内存高
    //console.log(Buffer.concat([buf4,buf5]).toString());
    //Node中推荐使用的方式
    var StringDecoder=require(“string_decoder”).StringDecoder;
    var decoder = new StringDecoder();
    console.log(decoder.write(buff));
    console.log(decoder.write(buff));
    

fs

//文件操作基于(fs模块) 1.文件的操作,2.文件夹的操作(目录的操作)
 //文件的操作
var fs=require("fs");

创建

 fs.writeFile("2.txt","我是2.txt文件",{flag:"a"},function (err) {
     if(err){
        console.log(err);
     }else{
        console.log("写入成功");
    }
 });

追加内容,同步异步方法一样,所有同步的函数都是函数后面加 Sync
异步

  fs.appendFile("2.txt","我是追加的内容",function (err) {
      if(err){
          console.log("写入错误")
      }else{
          console.log("写入成功");
      }
  })

同步
var res=fs.appendFileSync("2.txt","我是追加的内容");
console.log(res);
文件的读取

 fs.readFile("1.txt",function (err,data) {
     if(err){
         console.log(err);
     }else{
         console.log(data);
         //把buffer转化成字符串
         console.log(data.toString())
     }
})

文件的修改

 fs.rename("1.txt","5.txt",function (err) {
     if(err){
         return console.log(err);
     }else{
         console.log("修改成功");
     }
 })

文件删除

 fs.unlink("2.txt",function (err) {
     if(err){
       return console.log(err);
     }else{
         console.log("删除成功");
     }
 })

复制

 fs.readFile("5.txt",function (err,data) {
     if(err){
         console.log(err)
     }else{
         fs.writeFile("1.txt",data,{flag:"w"},function (err) {
            if(err){
                 console.log(err)
             }else{
                 console.log("复制成功");
             }
         })
     }
 })

文件夹的操作
目录创建
mode 的三个数字,分别表示owner(所有者),group(组用户),others(其他用户)所具有的权限。
1 = x 执行 2 = w 写 4 = r 读,比如owner具有所有权限,1+2+4=7, 又比如group 具有读 和执行权限 1+4 = 5

 fs.mkdir("11","0777",function (err) {
     if(err){
         return console.log(err);
    }else{
         console.log("创建成功");
    }
 })

修改文件夹权限

 fs.chmod("11",0777,function (err) {
     if(err){
         return console.log(err);
     }else{
         console.log("修改成功");
     }
 })
 fs.chmod("22",0777,function (err) {
     if(err){
         return console.log(err);
     }else{
         console.log("修改成功");
     }
 })

修改文件夹名

fs.rename("11","33",function (err) {
     if(err){
         console.log(err);
     }else{
         console.log("修改文件夹名成功");
    }
 })

判断文件或者文件夹是否存在

 fs.exists("22",function (exists) {
     if(exists){
         return console.log("文件夹已经存在");
     }else{
     fs.mkdir("22",0777,function (err) {
         if(err){
             return console.log(err);
         }else{
             console.log("创建成功");
          }
      })
    }
 })

文件夹删除,只能删除空文件夹

 fs.rmdir("22",function (err) {
   if(err){
       console.log(err);
   }else{
       console.log("删除成功");
   }
 })

读取文件夹

 fs.readdir("22",function (err,data) {
     if(err){
         console.log(err)
     }else{
         console.log(data);
   }
 })

显示文件的详细信息
针对详细信息来判断是否是文件夹

 fs.stat("22",function (err,data) {
    if(err){
         console.log(err)
     }else{
         console.log(data);
         // 判断是否是文件
         var res=data.isFile();
         //判断是否是文件夹
         // data.isDirectory()
         if(res){
             console.log("是文件");
         }else{
             console.log("是文件夹")
         }
     }
 })

删除文件夹的函数

function removeDir(src) {
    //获取文件夹的内容
   var arr= fs.readdirSync(src);
   console.log(arr);
   //判断是否是文件,如果是文件删除,是文件夹,在执行相同函数
    for(var i=0;i

stream

  var http=require("http");
  var fs=require("fs");
  var url=require("url");
  var server=http.createServer(function (req,res) {
  var pathname=url.parse(req.url,true).pathname;
  if(pathname=="/" || pathname=="index"){
      var rs=fs.createReadStream("index.html");
      rs.pipe(res);
  }else if(pathname=="/goods"){
      var rs=fs.createReadStream("good.html");
      rs.pipe(res);
  }else if(pathname!="/favicon.ico"){
  var rs=fs.createReadStream("."+pathname);
  rs.pipe(res);
  }
  });
  server.listen(8888);

sxpress

  var express = require("express");
  var app = express();
  var querystring = require("querystring");
  var bodyParse = require("body-parser");
  app.use(bodyParse.urlencoded({
      extended:true
  }));
  app.get("/",function(req,res){
      // res.send("

我是主页

"); // 加载post提交页面 res.sendFile(__dirname+"/post.html"); }) app.get("/goods",function(req,res){ res.send("

我是商品页

"); }) app.post("/post",function(req,res){ // var str = ""; // req.on("data",function(chunk){ // str+=chunk; // }) // req.on("end",function(){ // var data = querystring.parse(str); // console.log(data); // res.send(`

姓名是:${data.username} 年龄 是:${data.age}

`); // }) //通过body-parse获取到参数 console.log(req.body); res.send(`

姓名是:${req.body.username} 年龄是:${req.body.age}

`); }) app.get("/get",function(req,res){ var data = req.query; res.send(JSON.stringify(data)); }) app.get("/test/:id/:name",function(req,res){ var str = `

id的值是:${req.params.id};姓名是:${req.params.name}

`; res.send(str); }) //get请求或者是post请求 app.all("/*",function(req,res){ var pathname = req._parsedUrl.pathname; if(pathname!="favicon.ico"){ res.sendFile(__dirname+pathname); } }); app.listen(9898);

cookie

  var express=require("express");
  var cookieParser=require("cookie-parser");
  var app=express();
  app.use(cookieParser());
  //设置cookie
  app.get("/setcookie",function(req,res){
  var nowTime=new Date();
  nowTime.setDate(nowTime.getDate()+7);
  console.log(nowTime);
  res.cookie("username","zhangsan",{expires:nowTime});
  res.send("设置cookie");
})
app.get("/getcookie",function(req,res){
      var username=req.cookies.username;
      res.send(`取到cookie内容是:${username}`)
  })
  app.listen(9001);

session

  var express=require("express");
  var session=require("express-session");
  var app=express();
  app.use(session({
      secret:"mysecret",
      resave:false,
      saveUninitialized:true
  }));
  app.get("/setsession",function(req,res){
  req.session.username="zhang";
  res.send("session设置成功");
  })
  app.get("/getsession",function(req,res) {
      var username=req.session.username;
      res.send("session的内容是:"+username);
  })
  app.listen(8985);

next

  var express=require("express");
  var app=express();
  app.use(function(req,res,next){
      //省政府
      req.money=100;
    next();
  })
  app.use(function(req,res,next){
      //市政府
      req.money-=20;
      console.log(req.money);
      next();
  })
  app.use(function(req,res,next){
      //区政府
      req.money="钱丢了";
      next();
  })
  app.use(function(err,req,res,next){
      if(err){
          console.log(err);
      }
  })
  app.all("/",function(req,res){
      console.log(req.money);
      res.send(""+req.money);
  })
  app.listen(8765);

你可能感兴趣的:(模块)