c语言编程笔录

首页 >   > 笔记大全

笔记大全

详解node path模块的用法

更新时间:2023-10-11

Node.js Path模块用法详解

前言

Path模块是Node.js中的核心模块,旨在处理文件路径的字符串。在Node.js中,路径类型是特定于操作系统的,因此Path模块提供了一些方法来处理不同操作系统上的路径。该模块导出了一个对象,对象中包含了一些处理路径的方法和属性。本文将逐一介绍这些方法和属性,并提供一些示例代码。

path.basename(path[, ext])

该方法返回指定路径中的最后一部分,即文件名,可以选择性地去除文件扩展名。需要注意的是,如果指定的路径不包含斜杠,则返回一个空字符串。


const path=require('path');

console.log(path.basename('/foo/bar/baz.js'));  // 'baz.js'

console.log(path.basename('/foo/bar/baz.js', '.js'));  // 'baz'
    

path.dirname(path)

该方法返回指定路径的目录名,即指定路径中最后一个斜杠之前的部分。如果指定的路径不包含斜杠,则返回一个空字符串。


const path=require('path');

console.log(path.dirname('/foo/bar/baz.js'));  // '/foo/bar'
    

path.extname(path)

该方法返回指定路径中文件的扩展名,如果指定的路径中没有扩展名,则返回一个空字符串。需要注意的是,不同的操作系统对于扩展名的处理可能存在差异。


const path=require('path');

console.log(path.extname('/foo/bar/baz.js'));  // '.js'
    

path.join([...paths])

该方法将多个路径连接起来,并且自动根据操作系统规则添加正确的路径分隔符。需要注意的是,连接后的路径是绝对路径还是相对路径取决于传入的第一个路径值。


const path=require('path');

console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..'));  // '/foo/bar/baz/asdf'
    

path.normalize(path)

该方法规范化指定路径,去除路径中的多余斜杠、相对路径符号等。需要注意的是,该方法不会解析路径中的符号链接。


const path=require('path');

console.log(path.normalize('/foo/bar//baz/asdf/quux/..'));  // '/foo/bar/baz/asdf'
    

path.parse(path)

该方法返回一个对象,对象中包含解析后的路径信息。该信息包括路径的根、目录、文件名、扩展名和文件名去除扩展名后的部分。


const path=require('path');

console.log(path.parse('/foo/bar/baz.js'));  
/* 
{
  root: '/',
  dir: '/foo/bar',
  base: 'baz.js',
  ext: '.js',
  name: 'baz'
}
*/
    

path.resolve([...paths])

该方法将多个路径解析为一个绝对路径。需要注意的是,方法会根据传入的路径从右到左进行解析,并且自动根据操作系统规则添加正确的路径分隔符。


const path=require('path');

console.log(path.resolve('/foo/bar', './baz'));  // '/foo/bar/baz'
console.log(path.resolve('/foo/bar', '/tmp/file/'));  // '/tmp/file'
    

path.sep

该属性返回操作系统规定的路径分隔符。在UNIX系统中,该值为“/”,在Windows系统中,该值为“\\”。


const path=require('path');

console.log(path.sep);
    

总结

Path模块是Node.js中非常常用的核心模块。该模块提供了一些方法和属性来处理不同操作系统上的路径,这些方法和属性使得开发者可以更加方便地操作路径相关的字符串。在使用该模块时,需要特别注意不同操作系统上的路径类型存在差异,例如在Windows系统中使用的路径分隔符是反斜杠“\”,而在UNIX系统中使用的路径分隔符是正斜杠“/”。