您的位置:首页 > Web前端 > Node.js

Node.js中的Path模块

2015-09-19 11:02 696 查看

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\']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: