node.js中的path.join方法使用说明
方法说明:
将多个参数组合成一个path(详细请看例子)
语法:
path.join([path1],[path2],[...])
由于该方法属于path模块,使用前需要引入path模块(varpath=require(“path”))
例子:
path.join('/foo','bar','baz/asdf','quux','..') //returns '/foo/bar/baz/asdf' path.join('foo',{},'bar') //throwsexception TypeError:Argumentstopath.joinmustbestrings
源码:
//windowsversion exports.join=function(){ functionf(p){ if(!util.isString(p)){ thrownewTypeError('Argumentstopath.joinmustbestrings'); } returnp; } varpaths=Array.prototype.filter.call(arguments,f); varjoined=paths.join('\\'); //Makesurethatthejoinedpathdoesn'tstartwithtwoslashes,because //normalize()willmistakeitforanUNCpaththen. // //Thisstepisskippedwhenitisveryclearthattheuseractually //intendedtopointatanUNCpath.Thisisassumedwhenthefirst //non-emptystringargumentsstartswithexactlytwoslashesfollowedby //atleastonemorenon-slashcharacter. // //Notethatfornormalize()totreatapathasanUNCpathitneedsto //haveatleast2components,sowedon'tfilterforthathere. //ThismeansthattheusercanusejointoconstructUNCpathsfrom //aservernameandasharename;forexample: //path.join('//server','share')->'\\\\server\\share\') if(!/^[\\\/]{2}[^\\\/]/.test(paths[0])){ joined=joined.replace(/^[\\\/]{2,}/,'\\'); } returnexports.normalize(joined); };