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"
}

An example on Windows:

path.parse('C:\\path\\dir\\index.html'{
    root : "C:\\"
}

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'
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

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...