node.js中的path.normalize方法使用说明
方法说明:
输出规范格式的path字符串。
语法:
path.normalize(p)
由于该方法属于path模块,使用前需要引入path模块(varpath=require(“path”))
例子:
path.normalize('/foo/bar//baz/asdf/quux/..')
//returns
'/foo/bar/baz/asdf'
源码:
//windowsversion
exports.normalize=function(path){
varresult=splitDeviceRe.exec(path),
device=result[1]||'',
isUnc=device&&device.charAt(1)!==':',
isAbsolute=exports.isAbsolute(path),
tail=result[3],
trailingSlash=/[\\\/]$/.test(tail);
//Ifdeviceisadriveletter,we'llnormalizetolowercase.
if(device&&device.charAt(1)===':'){
device=device[0].toLowerCase()+device.substr(1);
}
//Normalizethetailpath
tail=normalizeArray(tail.split(/[\\\/]+/).filter(function(p){
return!!p;
}),!isAbsolute).join('\\');
if(!tail&&!isAbsolute){
tail='.';
}
if(tail&&trailingSlash){
tail+='\\';
}
//Convertslashestobackslasheswhen`device`pointstoanUNCroot.
//Alsosquashmultipleslashesintoasingleonewhereappropriate.
if(isUnc){
device=normalizeUNCRoot(device);
}
returndevice+(isAbsolute?'\\':'')+tail;
};