处理与转换路径path

  1. normalize该方法将非标准路径字符串转换为标准路径字符串,在转换过程中执行以下操作:

①解析路径字符串中的’..’字符串与’.’字符串,返回解析后的标准路径。

②将多个斜杠字符串转换为一个斜杠字符串,例如将’\\’转换为’\’。

③将windows操作系统中的反斜杠字符串转换为正斜杠字符串。

④如果路径字符串以斜杠字符串结尾,则在转换后的完整路径字符串末尾保留该斜杠字符串。

Path.normalize℗

参数:参数值为需要被转换的路径字符串,该方法返回转换后的路径字符串。

2. join 该方法将对参数值字符串结合为一个路径字符串

Path.join([path1],[path2],[…])

3. resolve 该方法一应用程序根目录为起点,根据所有的参数值字符串解析出一个绝对路径。

Path.resolve([path1],[path2],[…])

①以应用程序根目录为起点,解析第一个参数值字符串

②如果该参数值字符串不以’..’ , ’.’ , ’/’开头,则将参数值字符串解析为应用程序根目录下的某个子目录,将当前参考目录定为该子目录的绝对路径。

③如果该参数值字符串以’..’ 开头,则将’..’ 解析为应用程序根目录(文件所在的目录)的上级目录,然后将’..’ 后的字符串解析为该目录下的某个子目录,将当前参考目录定为该子目录的绝对路径。

④如果该参数值字符串以’.’ 开头,则将’.’ 解析为应用程序根目录(文件所在的目录)的当前目录,即应用程序根目录,然后将’.’ 后的字符串解析为应用程序根目录下的某个子目录,将当前参考目录定为该子目录的绝对路径。

⑤如果该参数值字符串以’/’ 开头,表示指定了一个绝对路径,则将当前参考目录定为该绝对路径。

⑥如果没有下一个参数值字符串,则resolve方法返回当前参考目录的绝对路径。

⑦如果存在下一个参数值字符串,则以当前参考目录为起点,解析下一个参数值字符串。

4. relative方法

该方法用于获取两个路径之间的相对关系,path.relative(from,to)

参数:两个参数均为一个路径,该路径可以为相对路径,也可以为绝对路径,可以为一个文件的路径,也可以为一个目录的路径。

5. dirname方法用于获取一个路径中目录名。

Path.dirname(p)

6. basename方法,用于获取一个路径中的文件名。

Path.basename(p,[ext])

参数:p参数必须为一个文件的完整路径,可以为相对路径,也可以为绝对路径。ext参数值用于在方法返回的文件名中去除该文件的扩展名,因此该参数值必须等于p参数值中指定文件的扩展名(以’.’ 开始),否则不能去除该扩展名。该方法返回p参数值中指定文件的文件名,当ext参数被指定后,该文件中不包含文件扩展名。

7. Extname 获取一个路径中的扩展名

Path.extname(p)

8. Path.parse(url) 路径解析 

Path.parse(url)例子如下:

解析的结果是一个对象,对象中重点是ext属性,可以用来判断文件格式。

9. Path.format({})作用与path.parse(url)相反,把解析的对象还原成原来的url地址。

10. Path.isAbsolute(path)用于判断是不是一个绝对路径。是返回true,否false。

node基础学习——path的处理与路径转换的更多相关文章

  1. Node.js实战项目学习系列(5) node基础模块 path

    前言 前面已经学习了很多跟Node相关的知识,譬如开发环境.CommonJs,那么从现在开始要正式学习node的基本模块了,开始node编程之旅了. path path 模块提供用于处理文件路径和目录 ...

  2. node基础学习——操作文件系统fs

    操作文件系统fs 1.在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除.在fs模块中,所有对文件及目录的操作都可以使用同步与异步两种方法,具有Sync后缀的方法均为同步方法. ...

  3. node基础学习——http基础知识-01-客户单请求

    <一> HTTP基础createServer()相关事件介绍 1. 创建HTTP服务器 server = http.createServer([requestListener]) // 下 ...

  4. Java基础学习-Path环境变量的配置

    1.为什么要进行Path环境变量的配置       程序的编译和执行需要使用到javac和java命令,所以只能在bin目录下写程序,而实际开发中,我们不可能将程序全部写到bin目录下,所以我们不许让 ...

  5. node基础学习——http基础知识-02-http响应数据流

    <一> 发送服务器端响应流 在createServer()方法的参数值回调函数或服务器对象的request事件函数中的第二个参数值为一个http.ServerResponse对象,可以利用 ...

  6. Node.js学习看这里:基础、进阶、文章

    Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用. Node.js采用事件 ...

  7. 零基础学习前端1-1配置node及npm环境变量

    零基础学习前端1-1配置node及npm环境变量 ## 1-1配置node及npm环境变量 首先:下载node 可以直接去官方网站下载 1.首先从官网下载安装包 https://nodejs.org/ ...

  8. Node.js系列基础学习----安装,实现Hello World, REPL

    Node.js基础学习 简介 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一 ...

  9. Node.js系列基础学习-----回调函数,异步

    Node.js基础学习 Node.js回调函数 Node.js异步编程的直接体现就是回调,异步编程依托回调来实现,但不是异步.回调函数在完成任务后就会被调用,Node有很多的回调函数,其所有的API都 ...

随机推荐

  1. 5中I/O模型

    输入操作包括两个阶段1.等待网络数据到达,被复制到内核中的缓冲区2.从内核缓冲区复制到进程缓冲区5种I/O模型1.阻塞式I/O:包含数据被复制到内核缓冲区和应用进程缓冲区两个过程,调用recvfrom ...

  2. HttpClient get请求获取数据流

    HttpClient get请求获取数据流,将数据保存为文件 public String getStreamFile(String url) throws Exception { HttpClient ...

  3. Node.js实现PC端类微信聊天软件(三)

    Github StackChat Redux学习回顾 Redux的主要功能就是管理复杂交错的State,比如需要讲state提升到顶层组件的场景中,使用Redux就很合适 Redux主要提供三个东西来 ...

  4. Kubernetes+Istio

    Kubernetes+Istio   微服务.SpringCloud.k8s.Istio杂谈   一.微服务与SOA “微服务”是一个名词,没有这个名词之前也有“微服务”,一个朗朗上口的名词能让大家产 ...

  5. 解决vue项目在ie浏览器缓存问题。

    ie浏览器一直是程序员的噩梦.项目在谷歌浏览器上完美运行.在ie浏览器上,缓存问题真心恶心.后台查看了资料说在接口上加上时间戳或随机数就行了.要是这样干,工作量真心大啊.后来我对我们公司大神封装的ax ...

  6. python中判断对象类型的函数——isinstance

    isinstance是Python中的一个内建函数.是用来判断一个对象的变量类型. isinstance(object, class-or-type-or-tuple) 如果参数object是clas ...

  7. Eureka 基础知识

    Eureka 忽略元数据末尾 回到原数据开始处 Eureka是netflix公司研发并且开源的一个服务发现组件. Eureka架构图: Eureka组件包含注册中心(Eureka Server)和eu ...

  8. 16 SpringMVC 的请求参数的绑定与常用注解

    1.SpringMVC 绑定请求参数 (1)支持的数据类型 基本类型参数: 包括基本类型和 String 类型POJO 类型参数: 包括实体类,以及关联的实体类数组和集合类型参数: 包括 List 结 ...

  9. 几个c++界面库的比较

    有些人说QT比MFC简单,QT封装得太好了,给初学者错觉,QT很简单.QT实现的功能比MFC更多(多到有些时候你觉得QT真TM啰唆,但是有时又体会到他啰唆得很强大很有柔性),显然比MFC代码更多,运行 ...

  10. Python3 - 数字类型

    在 Python 中,数字并不是一个真正的对象类型,而是一组类似类型的分类.Python 不仅支持通常的数字类型(整数和浮点数),而且还能够通过常量去直接创建数字以及处理数字的表达式.数字数据类型是不 ...