• node.js常用的几个模块总结


    /*
    * 一 util
     *      是 node 里面一个工具模块 ,node 里面几乎所有的模块 都会用到 在这个模块
     *  功能:
     *      1 实现继承 这是主要功能
     *      2 实现对象的完整输出
     *      3 实现判断数据类型
     *
    */

    //引入工具类
    var util = require("util");

    function Parent(){
        //继承Parent函数内的内容 为内部继承
        this.name = "爸爸";
        this.age = "50";
        this.sayHello = function(){
            console.log("hello");
        }
    }
    //继承Parent的外加属性 为外部继承
    Parent.prototype.getName = function(){
        console.log(this.name);
    }

    function Child(){
        //不使用inherits实现继承
        Parent.call(this);
    }
    //实现child继承parent
    // 工具类 util 里面的inherits 只能继承原型链(prototype)的方法和属性,无法继承类自有(直接写在类里面的)的方法和属性
    util.inherits(Child,Parent);
    console.log(Child)

    /*
    *path模块
     *
     * 功能:格式规范化路径
     *
    */
    //引入模块
        var path = require("path");
        var str = "../d/d/fg/gg//.l";
        //格式化不规范的路径
        console.log(path.normalize(str));

        //拼接路径
        var res = path.join("s/b/c/d","../f");
        console.log(res);


    /*
    *fs模块
    * 1 操作的文件
    * 2 操作目录
    */
    /*
    *文件部分(都有同步和异步的区分 这里只讨论异步)
    */
    var fs = require("fs");
    //1 读取文件
    //fs.readFile("1.txt","utf-8",function(error,data){
    // if(error){
    // //console.log("读取文件失败");
    // return console.error(error);
    // }else{
    // console.log(data);
    // }
    //})

    //2 写入文件
    //参数:1 路径 2 文件内容 3 可选参数(文件内容的信息) 4 回调函数
    //对于参数1,如果路径不存在 会创建新的文件,如果存在会在原文件写入内容

    //fs.writeFile("lxl.txt","hello world",{
    // flag:"a",//a不会覆盖上一次运行结果 w覆盖上一次运行结果
    // encoding:"utf-8"
    //},function(error){
    //
    //});
    // 2 写入文件的第二种方式
    //fs.appendFile("hhh.txt","真的假的?",function(error,data){//append拼接 默认为 a 的方式
    //
    //});


    //1 fs本身没有提供拷贝方法,自己实现一个
    //function Copy(src,desc){
    // fs.readFile(src,"utf-8",function(error,data){
    // if(error){
    //
    // }else{
    // // 读取成功,写入新文件
    // fs.writeFile(desc,data,{flag:"w"},function(error){
    //
    // })
    // }
    // })
    //}
    //
    //Copy("lxl.txt","ssss.txt");




    //目录操作部分
    //1.读取目录
    fs.readdir("dir1",function(err,files){
    if(err){
    console.log("读取失败")
    }else{
    console.log(files);
    }
    });
    //2.创建目录
    fs.mkdir("dir2",0777,function(error){
    if (error){
    console.log("创建文件夹失败");
    }else{
    console.log("创建文件夹success");
    }
    });
    //3.判断文件或者文件夹是否存在
    fs.exists("1.jpg",function(exist){
    console.log(exist);
    })
    //4.修改文件名
    fs.rename("1.jpg","2.jpg",function(err){
    if (err){
    console.log("修改失败");
    }else{

    }
    })
    /*
    *
    * 前面的文件处理方式(主要指读取数据和写入数据的方法,针对的都是小文件).
    * 而对于大数据处理,readile 和 writeFile处理起来都有一定的问题.
    * 大数据处理采用 stream 流的方式
    */

    //引入fs模块
    var fs = require("fs");
    //创建读取的数据流
    var read = fs.createReadStream("video.mp4");
    //实现拷贝一个 video 的副本
    var wr = fs.createWriteStream("副本video.mp4");
    //stream 之所以可以用来处理大数据,是因为它把数据分隔成一小块一小块来处理,并不是整个文件作为整体去处理.
    // 一小块(64kb)
    // var times = 0;
    // read.on("data",function(chunk){
    // times ++;
    // wr.write(chunk);
    //
    // })
    // read.on("end",function(){
    // console.log(times);
    // })

    //pipe 是一个管道,用来连接输入流和输出流,读取的数据流,直接通过管道写入的写入流里面
    read.pipe(wr);
     
    下面是我的公众号,大家可以关注一下,可以一起学习,一起进步:

  • 相关阅读:
    nextcloud环境搭建及部署
    docker容器内访问宿主机,访问不通 错误:Host is unreachable
    记录一下SQL的行行比较
    记录一次nginx平滑升级
    letsencrypt免费SSL证书自动续期
    守护进程因echo挂掉的原因,以及重定向标准输入、标准输出和标准错误
    openresty lua-nginx-module模块中文文档
    nginx localhost的坑
    PHP7 MongoDb的操作类
    tomcat 性能检测
  • 原文地址:https://www.cnblogs.com/lxl0419/p/5790748.html
Copyright © 2020-2023  润新知