• 深入基础(五) 工具模块,基本模块(1)


         马上就要过年啦,马上就要回家啦,越长大越孤独,希望每次回家的理由不仅仅只是例行公事,很多牵绊,希望和未来都在等待着你,每一个离家的灵魂都应该被歌颂! 哈哈不扯了 提前拜个早年!祝大家新年新气象,不要浪费自己的青春成就别人的梦想!最主要的 面向工资编程! 哈哈哈.

    工具模块

       这里需要介绍的工具模块大概分为下面几类(个人感觉不是很全面,后续继续补充哈~),感觉这篇文章安排在这里有点提前了?不过node都是模块化开发,互相关联很少 那句话叫什么来着 松耦合!哈哈哈:

          os模块  :提供基本的系统操作函数(比如获取一下系统信息,内存信息等等) 

          path模块 : 提供文件路径相关操作的模块(获取xx文件路径,判断路径,绝对路径,相对路径等等)

          net模块 : 提供一些网络通信小模块,包含创建服务器/客户端等等方法都在里面 (此处应该有星星的!!绝对核心常用对于我来说 看好了net模块!跟.net毛关系都没有,TCP协议啊IP地址验证等等)

          dns模块 : 如题 主要用于解析域名等操作(星星X2 这俩模块有什么理由不在一起呢?解析各种域名,查询各种信息记录日志)

          domain模块 : 简化异步处理,捕捉try catch捕捉不到的!(就是搞异常处理的模块,异常处理还有谁比我更专业? 不仅仅可以捕捉trycatch搞不到的,并且还不退出当前程序,而且不丢失上下文环境!)

         咱们这里逐个来剖析一下,当然如果有些可以深入的必要时候深入剖析一下,大多数方法比较简单平实用的时候也不难就一袋而过了一定注意自己试试:

        OS模块

         os.tmpdir() :返回系统操作的默认临时文件夹    注意:返回的是文件夹路径!并不是具体文件路径,而且文件里有很多文件,我的电脑只返回了一个文件夹 

         os.endianness() :返回CUP字节序 啥叫字节序?   字节序一般分为两类:LE BE     LE:最符合人类思维排序 地址位低的存低位端,地址位高的存储高位端;BE:最直观的排位 高位排低位端 低位排高位端

                    例如:

                             内存地址:  4000&4001&4002&4003
                                     LE: 04 03 02 01
                                     BE: 01 02 03 04
        os.hostname() :返回主机名称
        os.type(): 返回操作系统名
        os.platfrom() :返回操作系统名
        os.arch():返回CPU架构  可能是arm,x64,或者ia32
        os.release():返回系统版本
        os.uptime():返回系统运行时间(秒)
        os.loadavg(): 返回一个平均负载的数组 1 5 15分钟
        os.totalmem();返回系统内存运行总量(字节)
        os.freemem():返回系统空闲内存(字节)
        os.cups():返回一个数组 包含所安装的每个 CPU/内核的信息:型号、速度(单位 MHz)、时间(一个包含 user、nice、sys、idle 和 irq 所使用 CPU/内核毫秒数的对象)
        os.networkInterfaces();获得网络接口列表
        下面是我在本机尝试的结果,大家都试试没准什么时候就能用到呢?
          
          最后两个返回的是数组,在winprowershell里面不会显示具体信息的..当然node里面会拉,还有我这个是win平台其他平台也是一样的大伙儿可以试试.
          这里着重说一下os.cpus()这个方法,底层具体实现是C语言实现的网上品论说这个是node典型例子,来来来深入的童鞋大神传送门--->http://cnodejs.org/topic/569dc6e8e6816bdc6dab52fb
     
     
          Path模块
          path模块主要用作路径处理,比如windows平台与linux平台路径是有差距滴..比如拼接..等等很多操作path模块就此诞生,来来上干货:
          path.normalize(p) :规范化路径 注意! ".."和"."不一样的! 一会儿例子会指出来
          path.join([p1],[p2],...) :用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是"/",Windows系统是""。
          path.resolve([f],to): 将to解析为绝对路径
          path.isAbsolute(p): 判断p是否是文件的绝对路径
          path.relative(f,to):相对路径转化绝对路径
          path.dirname(p):p路径中代表文件夹部分,unix命令中 dirname类似..
          path.basename(p): 返回p路径中最后一部分,类似unix命令中的basename
          path.extname(p):返回路径中文件的后缀名,即路径中最后一个'.'之后的部分。如果一个路径中并不包含'.'或该路径只包含一个'.' 且这个'.'为路径的第一个字符,则此命令返回空字符串。
          path.parse(p):返回路径的字符串的对象
          path.format(p):从对象中返回路径字符串,和 path.parse 相反。
          
         
          一定要注意转义付的使用!!!! 这事儿还困扰了我一下子,还好我发现了..! 
          预告: 常用工具第二部分主要介绍关于网路dns解析啊,域名解析,格式化获取等等的,欢迎关注~~~持续更新学习中...///
  • 相关阅读:
    vue学习之遇见的问题
    npm install 报错
    git错误
    mysql解压缩方式安装和彻底删除
    webpack 报错:Module build failed: Unknown word (1:1)
    简单分析Java的HashMap.entrySet()的实现
    spring的四种依赖注入的方式
    探秘static——类不需实例化就能用?
    【转】java并发编程:synchronized
    【转】我们为什么要使用AOP?
  • 原文地址:https://www.cnblogs.com/workstation-liunianguowang/p/6290635.html
Copyright © 2020-2023  润新知