广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >详解nodeJS之路径PATH模块
  • 692
分享到

详解nodeJS之路径PATH模块

详解路径模块 2022-06-04 17:06:24 692人浏览 八月长安
摘要

前面的话 path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块。本文将详细介绍path模块 路径组成 【path.dirname(p)】 返回路径p所

前面的话

path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块。本文将详细介绍path模块

路径组成

【path.dirname(p)】

返回路径p所在的目录


var path = require('path');
console.log(path.dirname('/foo/bar/baz/asdf/a.txt')); // /foo/bar/baz/asdf
console.log(path.dirname('/foo/bar/baz/asdf/')); // /foo/bar/baz
console.log(path.dirname('C:/test/aaa')); // C:/test

【path.basename(p[, ext])】

返回路径的最后一个部分,即文件名。参数ext为需要截掉的后缀内容 


var path = require('path');
console.log(path.basename('/foo/bar/baz/asdf/a.txt')); // a.txt
console.log(path.basename('/foo/bar/baz/asdf/a.txt','.txt')); // a
console.log(path.basename('/foo/bar/baz/asdf/')); // asdf
console.log(path.basename('C:/test/aaa')); // aaa

【path.extname(p)】

返回路径p的扩展名,从最后一个'.'到字符串的末尾。如果最后一个部分没有'.',或者路径是以'.'开头,则返回空字符串


var path = require('path');
console.log(path.extname('/foo/bar/baz/asdf/a.txt')); // .txt
console.log(path.extname('/foo/bar/baz/asdf/a.txt.b')); // .b
console.log(path.extname('/foo/bar/baz/asdf/a.')); // .
console.log(path.extname('C:/test/aaa/.')); // ''
console.log(path.extname('C:/test/aaa')); // ''

分隔符

【path.sep】

返回对应平台下的文件分隔符,win下为'',*nix下为'/'


var path = require('path');
console.log(path.sep); // win下为,*nix下为/
console.log('foo\bar\baz'.split(path.sep)); // [ 'foo', 'bar', 'baz' ]
console.log('foo/bar/baz'.split(path.sep)); // win下返回['foo/bar/baz'],但在*nix系统下会返回['foo','bar','baz']

【path.delimiter】

返回对应平台下的路径分隔符,win下为';',*nix下为':'


var path = require('path');
console.log(path.delimiter); //win下为“;”,*nix下为“:”
console.log(path.sep); // win下为,*nix下为/

规范化

【path.normalize(p)】

规范化路径,处理冗余的“..”、“.”、“/”字符。发现多个斜杠时,会替换成一个斜杠。当路径末尾包含一个斜杠时,保留。windows系统使用反斜杠 


var path = require('path');
console.log(path.nORMalize('a/b/c/../user/bin'));//abuserbin
console.log(path.normalize('a/b/c///../user/bin/'));//abuserbin
console.log(path.normalize('a/b/c/../../user/bin'));//auserbin
console.log(path.normalize('a/b/c/.././///../user/bin/..'));//auser
console.log(path.normalize('a/b/c/../../user/bin/../../'));//a
console.log(path.normalize('a/../../user/bin/../../'));//..
console.log(path.normalize('a/../../user/bin/../../../../'));//......
console.log(path.normalize('./a/.././user/bin/./'));//userbin

【path.join([path1], [path2], [...])】

将多个路径结合在一起,并转换为规范化路径 


var path = require('path');
console.log(path.join('////./a', 'b////c', 'user/'));//abcuser
console.log(path.join('a', '../../', 'user/'));//..user

绝对和相对

【path.resolve([from ...], to)】

从源地址 from 到目的地址 to 的绝对路径,类似在shell里执行一系列的cd命令


path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile')

类似于:


cd foo/bar
cd /tmp/file/
cd ..
cd a/../subfile
pwd

[注意]如果某个from或to参数是绝对路径(比如 'E:/abc',或是以“/”开头的路径),则将忽略之前的from参数


var path = require('path');
console.log(path.resolve('.', 'testFiles/..', 'trdLayer'));//D:projecttrdLayer
console.log(path.resolve('..', 'testFiles', 'a.txt'));//D:testFilesa.txt
console.log(path.resolve('D:', 'abc', 'D:/a'));//D:a
console.log(path.resolve('abc', 'ok.gif'));//D:projectabcok.gif
console.log(path.resolve('abc', '..', 'a/../subfile')); //D:projectsubfile

【path.isAbsolute(path)】

path是一个绝对路径(比如 'E:/abc'),或者是以“/”开头的路径,二者都会返回true


var path = require('path');
console.log(path.isAbsolute('../testFiles/secLayer'));//false
console.log(path.isAbsolute('./join.js'));//false
console.log(path.isAbsolute('temp'));//false
console.log(path.isAbsolute('/temp/../..'));//true
console.log(path.isAbsolute('E:/GitHub/nodeapi/abc/efg'));//true
console.log(path.isAbsolute('///temp123'));//true

【path.relative(from, to)】

获取从 from 到 to 的相对路径,可以看作 path.resolve 的相反实现


path.resolve(from, path.relative(from, to)) == path.resolve(to)

var path = require('path');
console.log(path.relative('C:\test', 'C:\impl\bbb'));//..implbbb
console.log(path.relative('C:/test/aaa', 'C:/bbb'));//....bbb
console.log(path.relative('C:/test/aaa', 'D:/bbb'));//D:bbb

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 详解nodeJS之路径PATH模块

本文链接: https://www.lsjlt.com/news/12589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解nodeJS之路径PATH模块
    前面的话 path模块包含一系列处理和转换文件路径的工具集,通过 require('path') 可用来访问这个模块。本文将详细介绍path模块 路径组成 【path.dirname(p)】 返回路径p所...
    99+
    2022-06-04
    详解 路径 模块
  • Node.js中路径处理模块path详解
    前言 在node.js中,提供了一个path某块,在这个模块中,提供了许多使用的,可被用来处理与转换路径的方法与属性,将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。下面我们就来详细介绍下关于...
    99+
    2022-06-04
    详解 路径 模块
  • Nodejs中如何使用path路径处理模块
    这篇文章将为大家详细讲解有关Nodejs中如何使用path路径处理模块,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。获取路径/文件名/扩展名获取路径:pat...
    99+
    2022-10-19
  • 解读node.js中的path路径模块
    目录1. 什么是 path 路径模块2. 路径拼接3. 获取路径中的文件名 4. 获取路径中的文件扩展名5. 综合案例 -...
    99+
    2023-01-28
    node.js path path路径模块 path模块
  • 浅析node的path路径模块
    1.path路径模块初认识path 模块是 Node.js 官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。2.path模块的API2.1 path.join()path.join() 方法,用来将...
    99+
    2023-05-14
    node path模块
  • 一文详解nodejs的path模块使用
    目录前言APIbasename (获取路径基础名)dirname (获取路径目录名)extname (获取路径扩展名)parse (解析路径)format (序列化路径)isAbso...
    99+
    2022-11-16
    nodejs path模块使用 nodejs path
  • Node.js 中常用内置模块(path 路径模块)
    目录前言路径拼接:join方法获取文件名:basename方法获取文件扩展名:extname方法结语前言 进行服务端开发,少不了对各种路径的处理,之前我们是简单粗暴的使用字符串的方法...
    99+
    2022-11-13
  • node的path路径模块怎么使用
    这篇文章主要介绍了node的path路径模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node的path路径模块怎么使用文章都会有所收获,下面我们一起来看看吧。node的path模块前言:通过这篇文...
    99+
    2023-07-05
  • NodeJS学习笔记之(Url,QueryString,Path)模块
    一,开篇分析 这篇文章把这三个模块拿来一起说,原因是它们各自的篇幅都不是很长,其次是它们之间存在着依赖关系,所以依次介绍并且实例分析。废话不多说了,请看下面文档: (1),"Url模块"   来个小栗子:...
    99+
    2022-06-04
    学习笔记 模块 NodeJS
  • 路径穿越(Path Traversal)详解
    前言 本文主要是对路径穿越漏洞进行学习总结,本身这个漏洞也并不常见,主要是多产生于php的程序。 这种类型的攻击强制访问文件、目录、 以及位于 Web 文档根目录之外的命令 或 CGI 根目录。 常用...
    99+
    2023-08-31
    web安全 php 路径穿越 渗透测试
  • node中path路径模块的API有哪些
    本文小编为大家详细介绍“node中path路径模块的API有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“node中path路径模块的API有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2022-10-19
  • 详解NodeJS模块化
    目录一、前言二、正文2.1、什么是模块2.2、Resolving2.3、require.resolve2.4、模块间的父子依赖关系2.5、exports, module.export...
    99+
    2022-11-12
  • Node.js基础入门之path模块,url模块,http模块使用详解
    目录path模块1. path模块示例2. path模块其他方法url模块1. 旧的解析方法2. 新的解析方法http模块1. 什么是HTTP协议?2. HTTP协议约束的细节3. ...
    99+
    2022-11-13
  • Node中的fs文件模块和path路径模块怎么使用
    这篇“Node中的fs文件模块和path路径模块怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node中的fs文件模...
    99+
    2023-07-04
  • 学习Nodejs之fs模块的使用详解
    目录Nodejs 中的 fs 模块的使用1、fs.stat 检测是文件还是目录2、fs.mkdir 创建目录3、fs.writeFile 创建写入文件4、fs.appendFile ...
    99+
    2022-11-13
  • 详解Nodejs的timers模块
    本模块,属于来模拟一些浏览器自带方法的模块,比如setTimeout,clearTimeout等方法,之所以会有该模块,在我看来,也是为了能让前端工程师使用起来,更简单,使用一个单独的模块,来把浏览器上的功...
    99+
    2022-06-04
    详解 模块 Nodejs
  • NodeJS中Buffer模块详解
    一,开篇分析 所谓缓冲区Buffer,就是 "临时存贮区" 的意思,是暂时存放输入输出数据的一段内存。 JS语言自身只有字符串数据类型,没有二进制数据类型,因此NodeJS提供了一个与String对等的全局...
    99+
    2022-06-04
    详解 模块 NodeJS
  • 详解nodejs内置模块
    目录概述1、path模块 2、until模块 3、fs模块4、events模块5、http模块6、jade模块7、Express框架概述 nodejs内置模块指的...
    99+
    2022-11-12
  • 深入理解node.js之path模块
    node之path模块 //引用该模块 var path = require("path"); 1、路径解析,得到规范化的路径格式 //对window系统,目录分隔为'', 对于UNIX系统,分隔...
    99+
    2022-06-04
    模块 node js
  • NodeJs中的VM模块详解
    什么是VM? VM模块是NodeJS里面的核心模块,支撑了require方法和NodeJS的运行机制,我们有些时候可能也要用到VM模板来做一些特殊的事情。 通过VM,JS可以被编译后立即执行或者编译保存下来...
    99+
    2022-06-04
    详解 模块 NodeJs
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作