path.resolve()
方法會把一個路徑或路徑片段的序列解析為一個絕對路徑。
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 片段之后還未生成絕對路徑,則再加上當前工作目錄
。