Node檔案路徑
如何在Node中與檔案路徑互動並對其進行操作 從路徑中獲取資訊 處理路徑 系統中的每個檔案都有一個路徑。 在Linux和macOS上,路徑可能如下: /users/flavio/file.txt 而Windows電腦則不同,其結構如下: C:\users\flavio\file.txt 在應用程式中使用路徑時,需要注意這個差異。 您可以通過以下方式在文件中引入這個模組: const path = require('path') 然後就可以使用其中的方法了。 從路徑中獲取資訊 給定一個路徑,可以使用以下方法從中獲取資訊: dirname:獲取檔案的上級資料夾 basename:獲取檔案名稱部分 extname:獲取檔案擴展名 範例: const notes = '/users/flavio/notes.txt' path.dirname(notes) // /users/flavio path.basename(notes) // notes.txt path.extname(notes) // .txt 如果要獲取沒有擴展名的檔案名稱,可以將第二個引數指定給basename: path.basename(notes, path.extname(notes)) //notes 處理路徑 可以使用path.join()來結合路徑的兩個或多個部分: const name = 'flavio' path.join('/', 'users', name, 'notes.txt') //'/users/flavio/notes.txt' 可以使用path.resolve()來計算相對路徑的絕對路徑: path.resolve('flavio.txt') //'/Users/flavio/flavio.txt'(從我的家目錄執行時) 在這種情況下,Node會將/flavio.txt附加到當前工作目錄。如果您指定了第二個參數,resolve將使用第一個參數作為第二個參數的基礎: path.resolve('tmp', 'flavio.txt')//'/Users/flavio/tmp/flavio.txt'(從我的家目錄執行時) 如果第一個參數以斜線開頭,則表示它是絕對路徑: path.resolve('/etc', 'flavio.txt')//'/etc/flavio.txt' path.normalize()是另一個有用的函數,當路徑包含.、..或雙斜線等相對標識時,它將嘗試計算實際路徑: path.normalize('/users/flavio/..//test.txt') ///users/test.txt resolve和normalize都不會檢查路徑是否存在。它們只是基於它們獲得的資訊計算一個路徑。