1. 程式人生 > >path.resolve()和path.join()的區別

path.resolve()和path.join()的區別

  • path.join() 

組裝路徑。該方法的主要用途在於,會正確使用當前系統的路徑分隔符,Unix系統是/,Windows系統是\。
路徑字元中可以使用..或../進行相對路徑的計算,其它路徑表示符會被忽略

console.log(path.join('b','c','\d')) //結果為:b\c\d
console.log(path.join('b','c','d','..')) //結果為:b\c
console.log(path.join('b','c','./','d')) //結果為:/b/c/d
  • path.resolve() 

解析為相對於當前目錄的絕對路徑,相當於cd命令
遇到某一個路徑中有/時,則表示跳轉到根目錄,../表示跳轉到上層目錄

假設下列指令碼位於e:\test,執行結查如下

console.log(path.resolve('b','c','d')) //結果為:E:\test\b\c\d
console.log(path.resolve('b','c','/d')) //結果為:E:\d
console.log(path.resolve('b','c','..')) //結果為:E:\test\b
  • __dirname
    __dirname 總是指向被執行 js 檔案的絕對路徑