1、path.resolve()
作用:path.resolve() 該方法將一些的 路徑/路徑段 解析為絕對路徑。
語法:path.resolve( [from…],to )
說明:將參數to位置的字符解析到一個絕對路徑里,[from … ]為選填項,路徑源;
用法:
var path = require("path") //引入node的path模塊 path.resolve('/foo/bar', './baz') // returns '/foo/bar/baz' path.resolve('/foo/bar', 'baz') // returns '/foo/bar/baz' path.resolve('/foo/bar', '/baz') // returns '/baz' path.resolve('/foo/bar', '../baz') // returns '/foo/baz' path.resolve('home','/foo/bar', '../baz') // returns '/foo/baz' path.resolve('home','./foo/bar', '../baz') // returns '/home/foo/baz' path.resolve('home','foo/bar', '../baz') // returns '/home/foo/baz' path.resolve('home', 'foo', 'build','aaaa','aadada','../../..', 'asset') //return '/home/foo/asset'
總結:從后向前,若字符以 / 開頭,不會拼接到前面的路徑;若以 …/ 開頭,拼接前面的路徑,且不含最后一節路徑;若連續出現多個…/…/…或者…/…則忽略前方…個路徑名進行拼接;若以 ./ 開頭 或者沒有符號 則拼接前面路徑;
另:path.resolve總是返回一個以相對於當前的工作目錄(working directory)的絕對路徑。