Node.js中的Path模块
Path模块简介
本模块包含一套用于处理和转换文件路径的工具集。几乎所有的方法只做字符串变换, 不会调用文件系统检查路径是否有效。
// 调用Path模块 var path = require('path')
函数
path.normalize(p)
规范化字符串路径,注意 ‘..’ 和 ‘.’ 部分
多个斜杠会被替换成一个; 路径末尾的斜杠会被保留; Windows 系统上, 会使用反斜杠
path.normalize('/foo/bar//baz/asdf/quux/..') // returns '/foo/bar/baz/asdf'
path.join([path1], [path2], […])
连接所有参数, 并且规范化得到的路径
参数必须是字符串
path.resolve([from …], to)
path.resolve('foo/bar', '/tmp/file/', '..', 'a/../subfile') 相当于: cd foo/bar cd /tmp/file/ cd .. cd a/../subfile pwd
path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif') // 如果当前工作目录为 /home/myself/node,它返回: '/home/myself/node/wwwroot/static_files/gif/image.gif'
path.isAbsolute(path)
判定path是否为绝对路径
path.relative(from, to)
破解从from到to的相对路径
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb') // 返回 '../../impl/bbb'
path.dirname(p)
返回路径中文件夹的名称
path.dirname('/foo/bar/baz/asdf/quux') // returns '/foo/bar/baz/asdf'
path.basename(p, [ext])
返回路径中的最后一部分
path.basename('/foo/bar/baz/asdf/quux.html') // returns 'quux.html' path.basename('/foo/bar/baz/asdf/quux.html', '.html') // returns 'quux'
path.extname(p)
返回路径中文件的扩展名, 在从最后一部分中的最后一个’.’到字符串的末尾。 如果在路径的最后一部分没有’.’,或者第一个字符是’.’,就返回一个 空字符串
path.parse(pathString)
An example on *nix:
path.parse('/home/user/dir/file.txt') // returns { root : "/", dir : "/home/user/dir", base : "file.txt", ext : ".txt", name : "file" }
An example on Windows:
path.parse('C:\\path\\dir\\index.html') // returns { root : "C:\\", dir : "C:\\path\\dir", base : "index.html", ext : ".html", name : "index" }
path.format(pathObject)
Returns a path string from an object, the opposite of path.parse above
常量
path.sep
特定平台的文件分隔工具. \\
或者 /
*nix 上的例子:
'foo/bar/baz'.split(path.sep) // returns ['foo', 'bar', 'baz']
Windows 上的例子:
'foo\\bar\\baz'.split(path.sep) // returns ['foo', 'bar', 'baz']
path.delimiter
特定平台的路径分隔符, ;
或者 :
。比如windows的环境变量中各路径的分隔符
*nix 上的例子:
process.env.PATH.split(path.delimiter) // returns ['/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) // returns ['C:\Windows\system32', 'C:\Windows', 'C:\Program Files\nodejs\']
本文转自:http://blog.csdn.net/wozaixiaoximen/article/details/48505749