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