处理与转换路径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. html中测试div、ul和li、table排列多个块

    前面有三篇博文测试了这三种方式,一.相关博文:LODOP问答部分链接.该文用的是div定位,用的是所有小div相对于大div进行定位,大的div设置relative定位,小的设置absolute相对于 ...

  2. Redis常用运维命令

    1.启动命令 按照我其他博客的按照方法,启动命令为/etc/init.d/redis_6379 start 2.查看内存统计信息 [root@bogon ~]# redis-cli > info ...

  3. Android File Transfer Mac: 如何在 macOS 和 Android 系统之间移动数据

    三大 Mac OS X 系统 Android 文件传输软件 谷歌出品的 Android File Transfer 如何在 Mac 系统上使用 Android File Transfer Androi ...

  4. VisualVM使用

    sualVM是JDK自带的一个用于Java程序性能分析的工具 在JDK安装目录的bin文件夹下名称为 jvisualvm.exe 在左侧选择应用 (1)概述 应用程序和运行时环境的基本信息 基本参数 ...

  5. 一款新的好用的SSH工具——FinalShell

    FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.特色功能:免费海外服务器远程桌面加速,ssh加速,双边tcp加速,内网穿 ...

  6. elasticsearch 常见查询及聚合的JAVA API

    ES 常见查询 (1)根据ID 进行单个查询 GetResponse response = client.prepareGet("accounts", "person&q ...

  7. 安装cnpm出现问题

    安装cnpm: 命令行中输入   npm install -g cnpm --registry=http://registry.npm.taobao.org 报:cnpm不是内部命令 解决方法:设置环 ...

  8. AtCoder-abc147 (题解)

    A - Blackjack (水题) 题目链接 大致思路: 水题 B - Palindrome-philia (水题) 题目链接 大致思路: 由于整个串是回文串,只要判断前一半和后一半有多少个不同即可 ...

  9. DRF框架(三)——media资源路径设置、多表设计复习及补充、序列化组件(ModelSerializer)操作多表(序列化与反序列化)、多表序列化与反序列化整合(重点)

    media资源路径设置  (设置好后把图片放在这个文件夹中,通过链接能访问到图片) 1.先在根目录设置一个media文件夹 2.配置settings.py,加上下面的 MEDIA_URL = '/me ...

  10. Migrate to AndroidX 遇到的坑

    Androidx 迁移方法: 首先把 gradle 版本改为3.2.0以上,以及 compileSdkVersion 为28以上 然后 Android Studio 菜单栏 Refactor -> ...