美文网首页
nodejs模块/深复制与浅复制/模块化开发

nodejs模块/深复制与浅复制/模块化开发

作者: 子心_ | 来源:发表于2019-07-09 09:33 被阅读0次

nodejs模块

    1. http模块
    2. 断言(assert)
        const assert = require('assert')
        assert(条件,'断言')
        例:function(a,b){
            assert(arguments.length==2,'参数必须是两个')//如果传进来的参数不是2个 就会提示参数必须是两个。断言:即断定这里参数必须是两个。
        };
    3. 二进制(Buffer)//切记二进制不可toString(),否则图片等类型会出错。
       文件(FileSystem)
        const fs = require('fs');
        fs.readFile('1.txt',(err,data)=>{
            console.log(err)//文件路径与回调函数
            //读取成功之后返回的就是Buffer数据(二进制数据).
        });//异步操作,对应有sync版本readFileSync();
        fs.writeFile('3.txt','erqwreqwere',err=>{//写到3.txt,内容为第二个参数。默认是覆盖,如果要追加使用appendFile
            if(err){}else{}
        })
    4. C++ Addons 用C语言写插件,性能及其好。
    5. child Processes\Cluster\Process 相互配合可以使用JS处理多进程。
    6. Crypto 处理加密、签名//距离md5加密
        const crypot = require('crypot');
        let obj = crypot.createHash('md5');
        obj.update('123456');
        console.log(obj.digest('hex'));
    7. OS(操作系统)
    8. path()//用来获取各种路径名(dirname)、文件名(basename)、后缀名(extname)等。__dirname,node全局变量用来获取当前文件的绝对路径
    9. Events 事件队列 
        数据到达事件,文件加载完成事件等。
        const Event = require('event').EventEmitter;
        let ev = new Event();
        //1.监听
        ev.on('msg',function(a,b,c){//msg 起名随意
            consloe.log('msg事件触发',a,b,c)
        })
        //2.发送
        ev.emit('msg',12,5,8);
    10. querystring //url?问号后的数据,由qs模块进行处理,不过通常大家都使用URL模块。
            const url = require('url');
            url.oarse(url地址);
            console.log(url)
    11. 网络
        TCP协议 使用net模块
        UDP协议 使用Datagram模块
    12. DNS 解析域名,Domain 处理域名相关事项
            const dns = require('dns');
            dns.resolve('baidu.com',(err,res)=>{
                if(err){
                }else{
                    console.log(res);
                }
            })
    13. Stream 流操作
        连续数据都是流操作,  
    14. TSL 安全传输层、SSL 安全套接层,处理安全加密
    15. ZLIB 压缩操作使用

扩展

深复制与浅复制
    浅复制之后 原数组与新数组指向的地址是同一个
    深复制之后 是完全独立的两个数组
NODE模块化开发
    模块化开发==组件化开发
    将单独的功能封装成单独的模块,按需引用
    使用CMD、AMD规范区别:(转2018-4-10笔记扩展)
        AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
        CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
        AMD是依赖提前
        CMD是依赖就近
    node模块化,需要把模块放在node_modeles文件夹下才可以在引用的时候不加./,
    因为node有系统模块,引用模块时加./代表引用自己的模块,不加代表引用系统模块,而把自己的模块放到node_modeles文件夹下,即可实现不加./引用自己的模块
ES6模块化(凉了,名存实亡,所有浏览器都不支持)
    输出
        export{x,x,x}
    引入
        import mod from 'xxx.js'

相关文章

  • nodejs模块/深复制与浅复制/模块化开发

    nodejs模块 扩展

  • iOS

    开发记录 iOS 深复制与浅复制 浅拷贝就是拷贝后,并没有进行真正的复制,而是复制的对象和原对象都指向同一个地址 ...

  • 设计模式 - 原型模式

    注意深复制与浅赋值的问题 C#中如果需要实现深复制,必须实现 ICloneable 接口。

  • 第二节: 模块化Module

    NodeJs 采用模块化方式,管理和组织代码,NodeJS的所有功能都存在每个模块中的 1. 模块和模块化开发的了...

  • 深拷贝(复制)与浅拷贝(复制)

    对于字符串类型,浅复制是对值的复制,对于对象来说,浅复制是对对象地址的复制,并没有开辟新的栈,也就是复制的结果是两...

  • Java 浅拷贝和深拷贝 拷贝和复制

    Java 复制与拷贝 大纲 浅拷贝和深拷贝 浅拷贝就是复制对象的一个精确副本 ==对于基本数据类型就是复制值,对于...

  • Javascript对象的深浅拷贝

    开门见山,有人叫对象的复制为深复制浅复制,也有人叫深拷贝浅拷贝。其实都是copy。 深拷贝(递归复制,复制所有层级...

  • 浅|深 复制

    浅复制 //只写main函数 //结果是 我们可以看到一旦pointArray1发生了改变pointArray2也...

  • 前端笔记(二) 对象的深浅拷贝,函数的防抖与节流,函数柯里化 ,

    对象的深浅拷贝 对象的深拷贝与浅拷贝的区别: 浅拷贝:仅仅复制对象的引用, 而不是对象本身。 深拷贝:把复制的对象...

  • JS深浅拷贝

    浅拷贝 浅拷贝的意思就是只复制引用,而未复制真正的值。 深拷贝 深拷贝就是对目标的完全拷贝,不像浅拷贝那样只是复制...

网友评论

      本文标题:nodejs模块/深复制与浅复制/模块化开发

      本文链接:https://www.haomeiwen.com/subject/cpssfctx.html