path.normalize(path)
path.normalize(path)
参数值为需要被转换的路径字符串。
该方法将非标准路径字符串转换为标准路径字符串,在转换过程中执行以下处理:
1) 解析路径字符串中的”..”字符串与”.”字符串,返回解析后的标准路径;
2) 将多个斜杠字符串转换为一个斜杠字符串,例如将”\\”转换为”\”;
3) 将Windows操作系统中的反斜杠字符串转换为正斜杠字符串;
4) 如果路径字符串以斜杠字符串结尾,则在转换后的完整路径字符串末尾保留该斜杠字符串。
例如:
console.log(path.normalize(".//a//b//d//..//c/e//..//"));
// a\b\c
path.join()
path.join([path1] [, path2] [...])
该方法将多个参数值字符串结合为一个路径字符串。
例如:
console.log(path.join("a", "b", "c", "..", "d"));
// a\b\d
path.resolve()
path.resolve(path1, [, path2] [...])
该方法以应用程序根目录为起点,根据所有的参数值字符串解析出一个绝对路径。
path.relative()
path.relative([from,] to)
用于获取两个路径之间的相对关系。如果在代码中降低一个路径视为当前路径,则使用相对路径来指定第二个路径时应该使用的表达式。
在Windows操作系统中这两个路径应该位于同一个硬盘分区中,否则方法直接返回第二个参数值路径的绝对路径。
例如:
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
// 返回'../../impl/bbb'
path.dirname()
path.dirname(path)
该方法用于获取一个路径中的目录名。当参数值为目录路径时,返回该目录的上层目录;当参数值为文件路径时,返回该文件所在目录。
path.basename()
path.basename(path [, ext])
该方法用于获取一个路径中的文件名。
例如:
path.basename('/foo/bar/baz/asdf/quux.html', '.html') // 返回quux
path.basename('/foo/bar/baz/asdf/quux.html', 'html') // 返回quux.
path.extname()
path.extname(path )
该方法用于获取一个路径中的扩展名。
path.isAbsolute()
path.isAbsolute(path)
判定path是否为绝对路径。一个绝对路径总是指向一个相同的位置,无论当前工作目录是在哪里。
例如:
path.isAbsolute('/foo/bar') // true
path.isAbsolute('/baz/..') // true
path.isAbsolute('//server') // true
path.isAbsolute('C:/foo/..') // true
path.isAbsolute('qux/') // false
path.isAbsolute('.') // false
path.sep属性
属性值为操作系统指定的文件分隔符,可能的属性值为”\\”(在Windows操作系统中)或”/”(在UNIX操作系统中)。
*nix 上的例子:
'foo/bar/baz'.split(path.sep)
// ['foo', 'bar', 'baz']
Windows 上的例子:
'foo\\bar\\baz'.split(path.sep)
// ['foo', 'bar', 'baz']
path.delimiter属性
属性值为操作系统指定的路径分隔符,可能的属性值为”;”(在Windows操作系统中)或”:”(在UNIX操作系统中)。
*nix 上的例子:
process.env.PATH.split(path.delimiter)
// ['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
Windows 上的例子:
console.log(process.env.PATH)
// 'C:\Windows\system32;C:\Windows;C:\Program Files\nodejs\'
process.env.PATH.split(path.delimiter)
// ['C:\Windows\system32', 'C:\Windows', 'C:\Program Files\nodejs\']