path模块
path模块是Node.js提供用于处理文件与目录的路径。
连接路径
1 2 3
| let path = require('path');
console.log(path.join(__dirname,'lan','pang','zi'))
|
为什么要使用这个方法,因为Windows和liunx系统路径分隔符不一样,liunx系统是”/“,Windows系统是”\”,path.join()会正确使用当前系统的路径分隔符。
获取路径扩展名
1 2 3
| let path = require('path');
console.log(path.extname(__filename))
|
从 path 的最后一部分中的最后一个 . 字符到字符串结束。 如果 path 的最后一部分没有 . 或 path 的文件名的第一个字符是 .,则返回一个空字符串。
1 2 3 4
| console.log(path.extname('.lanpangzhi')) # 输出空字符串 console.log(path.extname('lanpangzhi.github.exe')) # 输出 .exe console.log(path.extname('lanpangzhi.')) # 输出 . console.log(path.extname('lanpangzhi')) # 输出空字符串
|
获取绝对路径
1 2 3
| let path = require('path');
console.log(path.resolve('lan/pang','zi'))
|
路径的序列是从右往左被处理的。
如果处理完全部给定的 path 片段后还未生成一个绝对路径,则当前工作目录会被用上。
生成的路径是规范化后的,且末尾的斜杠会被删除,除非路径被解析为根目录。
如果不传参数会得到当前所在的目录
判断是否是绝对路径
1 2 3 4
| let path = require('path');
console.log(path.isAbsolute('/lanpangzhi')) # 输出 true console.log(path.isAbsolute('lanpangzhi/')) # 输出 false
|
如果 path 不是一个字符串,则抛出 TypeError。
获取路径中的文件名
1 2 3 4
| let path = require('path');
console.log(path.basename(__filename)) console.log(path.basename(__filename,'.js'))
|
第一个参数是路径。
第二个参数是文件扩展名,如果加上只返回文件名。
path.sep 文件路径分隔符
path.delimiter 环境变量路径分隔符
参考
http://nodejs.cn/api/path.html