Node核心模块之Path
来源:互联网 发布:英语四级语法软件 编辑:程序博客网 时间:2024/05/18 00:35
Node核心模块之Path
Node.js V6.9.4
path模块被提供用来处理文件和目录的路径
path模块的默认操作根据Node运行的操作系统不同而有所不同,当在windows上运行时,使用windows样式的路劲,当在POSIX接口的系统上运行时,使用POSIX接口样式的路径
* const path = require(‘path’); *
1.path.basename(path[,ext])
* 返回最后的路径下的文件名 *
path.basename('/foo/bar/baz/asdf/quux.html')// Returns: 'quux.html'path.basename('/foo/bar/baz/asdf/quux.html', '.html')// Returns: 'quux'
2.path.delimiter
* 利用分隔符分割路径,windows分隔符为’;’,POSIX接口分隔符为’:’ *
//on POSIXconsole.log(process.env.PATH)// Prints: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin'process.env.PATH.split(path.delimiter)// Returns: ['/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin']
//on Windowsconsole.log(process.env.PATH)// Prints: 'C:\Windows\system32;C:\Windows;C:\Program Files\node\'process.env.PATH.split(path.delimiter)// Returns: ['C:\\Windows\\system32', 'C:\\Windows', 'C:\\Program Files\\node\\']
3.path.dirname(path)
* 返回路径的文件目录 *
path.dirname('/foo/bar/baz/asdf/quux')// Returns: '/foo/bar/baz/asdf'
4.path.extname(path)
* 返回路径最后目录下的文件的扩展名 *
path.extname('index.html')// Returns: '.html'path.extname('/asdf/index.coffee.md')// Returns: '.md'path.extname('index.')// Returns: '.'path.extname('index')// Returns: ''path.extname('.index')// Returns: ''
4.path.format(pathObject)
* 将路径对象格式化为一个路径字符串,与path.parse()作用相反 *
pathObject: { dir: String, root: String, base: String, name: String, ext: String}
// on POSIX// 如果`dir`和`base`为空, 返回`${dir}${path.sep}${base}`path.format({ dir: '/home/user/dir', base: 'file.txt'});// Returns: '/home/user/dir/file.txt'//如果`dir`为懂,则`root`为根目录path.format({ root: '/', base: 'file.txt'});// Returns: '/file.txt'path.format({ root: '/', name: 'file', ext: '.txt'});// Returns: '/file.txt'path.format({ base: 'file.txt'});// Returns: 'file.txt'
//on Windowspath.format({ root : "C:\\", dir : "C:\\path\\dir", base : "file.txt", ext : ".txt", name : "file"});// Returns: 'C:\\path\\dir\\file.txt'
5.path.isAbsolute(path)
* 判断路劲是不是绝对路径 *
// on POSIXpath.isAbsolute('/foo/bar') // truepath.isAbsolute('/baz/..') // truepath.isAbsolute('qux/') // falsepath.isAbsolute('.') // false
//on Windowspath.isAbsolute('//server') // truepath.isAbsolute('\\\\server') // truepath.isAbsolute('C:/foo/..') // truepath.isAbsolute('C:\\foo\\..') // truepath.isAbsolute('bar\\baz') // falsepath.isAbsolute('bar/baz') // falsepath.isAbsolute('.') // false
6.path.join([…paths]);
* 连接路径 *
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')// Returns: '/foo/bar/baz/asdf'path.join('foo', {}, 'bar')// throws TypeError: Arguments to path.join must be strings
7.path.normalize(path)
* 标准化给定路径 *
// on POSIXpath.normalize('/foo/bar//baz/asdf/quux/..')// Returns: '/foo/bar/baz/asdf'// on Windowspath.normalize('C:\\temp\\\\foo\\bar\\..\\');// Returns: 'C:\\temp\\foo\\'
8.path.parse(path)
* 将路径解析成对象 *
// on POSIXpath.parse('/home/user/dir/file.txt')// Returns:// {// root : "/",// dir : "/home/user/dir",// base : "file.txt",// ext : ".txt",// name : "file"// }
// on Windowspath.parse('C:\\path\\dir\\file.txt')// Returns:// {// root : "C:\\",// dir : "C:\\path\\dir",// base : "file.txt",// ext : ".txt",// name : "file"// }
8.path.relative(from, to)
* 返回从from到to的相对路径*
//on POSIXpath.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')// Returns: '../../impl/bbb'
//on Windowspath.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb')// Returns: '..\\..\\impl\\bbb'
9.path.resolve([…paths])
* 将路径解析为决定路径 *
path.resolve('/foo/bar', './baz')// Returns: '/foo/bar/baz'path.resolve('/foo/bar', '/tmp/file/')// Returns: '/tmp/file'path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif')// if the current working directory is /home/myself/node,// this returns '/home/myself/node/wwwroot/static_files/gif/image.gif
10.path.sep
* 根据平台路径符讲路径分割为数组 * \
on Window /
on POSIX
// on POSIX'foo/bar/baz'.split(path.sep)// Returns: ['foo', 'bar', 'baz']// on Windows'foo\\bar\\baz'.split(path.sep)// Returns: ['foo', 'bar', 'baz']
0 0
- Node核心模块之Path
- node核心模块之path
- Node【模块】之path
- node之path模块
- Node核心模块之Events
- Node核心模块之QueryString
- Node核心模块之Stream
- Node核心模块之Net
- Node核心模块之fs
- Node核心模块之fs模块
- Node.JS核心模块之module分析
- node核心模块之读取文件
- Node之文件路径处理模块:path模块
- node path模块
- Node.js6 Path模块
- node中的path模块
- Node.js Path模块
- node.js Path模块
- Orace 检查是否配置最大认证失败次数
- 传智播客关于JAVA中IO流的讲解
- ACM篇:Uva 11988-- Broken Keyboard
- Linux应用层下定时器函数setitimer
- 深入浅出Mybatis-与Spring集成
- Node核心模块之Path
- 微信小程序学习之路01-初识微信小程序
- Mysql基础教程
- 金山副总裁郭炜炜:长线游戏成主流 内容方布局VR尚早
- linux-C编程-网络编程
- (非递归的方法待研究)112. Path Sum
- ACM篇:Uva 679 -- Droping Balls
- char str[]="hello"; sizeof(str)是多少?
- 在Java中自定义的一个key对多个Value的map