处理与转换路径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. node读写本地文件

    http://nodejs.cn/api/fs.html#fs_fs_writefilesync_file_data_options https://www.cnblogs.com/diaosizha ...

  2. 小甲鱼汇编语言学习笔记——day03

    手动编译并执行第一个汇编程序过程: 1.用notepad++写一个简单的汇编程序(文件命名为:1.asm): assume cs:abc abc segment mov ax, 2 add ax, a ...

  3. mysql报错 常见 1045 10061

    报错1045: 远程没有设置用户远程访问的权限 解决方案: 进行授权(红色是你的密码) 如果想root用户使用password从任何主机连接到mysql服务器的话. GRANT ALL PRIVILE ...

  4. 006 SpringCloud 学习笔记2-----SpringCloud基础入门

    1.SpringCloud概述 微服务是一种架构方式,最终肯定需要技术架构去实施. 微服务的实现方式很多,但是最火的莫过于Spring Cloud了.SpringCloud优点: - 后台硬:作为Sp ...

  5. 洛谷P1434滑雪讲解

    题源:[戳这里] 洛谷博客链接:[戳这里] 我觉得这道题主要方法应该有两种: 动态规划 搜索 下面会分别对这两种方法进行简述 一,动态规划法首先的想法是用L(i,j)表示从点(i,j)出发能到达的最长 ...

  6. python ---socket初识

    python网络编程(初识) 一些概念 套接字: 套接字(socket)也叫通信端点,最初用于计算机内部进程之间的通信,而随着网络的发展,套接字被用于计算机之间的通信.举个例子,你(是一台计算机)要打 ...

  7. 使用 kill 命令杀死 java进程,你用对了吗?

    在本地调试agent相关功能,需要经常性的杀掉Java进程,验证一些极端情况. 每次都是本能执行如下步骤 jps kill -9 <pid> reboot 有一次验证,发现代码中添加的Sh ...

  8. OpenResty部署nginx及nginx+lua

    因为用nginx+lua去开发,所以会选择用最流行的开源方案,就是用OpenResty nginx+lua打包在一起,而且提供了包括redis客户端,mysql客户端,http客户端在内的大量的组件 ...

  9. easyUi——datetimebox绑定数据失效

    在做easy-ui时候,绑定数据不管在怎么写,都绑定不上去,最后发现是因为 标签的ID没有写,尴尬了,记录一下,防止后期出错. ui代码 <script type="text/java ...

  10. Android.mk简介:

    Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解 ...