node.js-path模块
NodeJS中的Path对象,用于处理目录的对象,提高开发效率。
用NodeJS的Path命令,与使用Linux下的shell脚本命令相似。
在学习node的时候总是碰到一些关于path的api,今天系统的的翻开了api,进行总结归纳。
引入path对象:
var path=require('path');
1. path.basename(path[, ext])
//返回path的最后一部分,返回结果可排除[ext]后缀字符串。
var path=require('path');
console.log(path.basename('node/path/pathbasename.js'));
console.log(path.basename('nade/path/pathbasename','js'));
console.log(path.basename('node/path/pathbasename','.js'))
2. path.dirname(path)
//返回path的目录名,在webpack等工具中存在的全局变量,返回webpack.config.js的目录名。
var path=require('path');
console.log(path.dirname('/Users/zhaohuan/node/path/pathbasename.js'));
3. path.extname(path)
//path.extname() 方法返回 path 的扩展名,即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。 如果 path 的最后一部分没有 . 或 path 的文件名(见 path.basename())的第一个字符是 .,则返回一个空字符串。(node.js中文网讲解的比较详细)
var path=require('path');
console.log(path.extname('/path/index.html'));
console.log(path.extname('/path/extname.js'));
4. path.format(pathObject)
//path.format() 方法会从一个对象返回一个路径字符串。 与 path.parse() 相反。
//pathObject由如下部分组成:
dir <字符串> //目录
root <字符串> //目录
base <字符串>//文件名==name+ext
name <字符串> //index
ext <字符串>//后缀名(.txt .html)
如果提供了 pathObject.dir,则 pathObject.root 会被忽略
如果提供了 pathObject.base 存在,则 pathObject.ext 和 pathObject.name 会被忽略
var path=require('path');
var pathobj={
dir:'/path',
root:'/node/',
base:'format.js',
name:'extname',
ext:'.html'
};
console.log(path.format(pathobj));
5.path.normalize(path)
//path.normalize() 方法会规范化给定的 path,并解析 ‘..’ 和 ‘.’ 片段。当发现多个连续的路径分隔符时(如 POSIX 上的 / 与 Windows 上的 \),它们会被单一的路径分隔符替换。 末尾的多个分隔符会被保留。如果 path 是一个长度为零的字符串,则返回 ‘.’,表示当前工作目录。
var path=require('path');
console.log(path.normalize('/Users/zhaohuan/..//node////path/normalize.js'));
console.log(path.normalize(''));
6. path.join([…paths])
//将所有名称用path.seq串联起来,然后用normailze格式化
var path=require('path');
console.log(path.join('/Users','node/path','../','join.js'));
console.log(path.join('/Users','node/path/','join.js'));
7. path.parse(path)
//path.parse() 方法返回一个对象,对象的属性表示 path 的元素。
与path.fomart相反
var path=require('path');
console.log(path.parse('/Users/node/path/join.js'));