path屬性與方法的學習和整理
阿新 • • 發佈:2020-08-20
path
模組提供了許多非常實用的函式來訪問檔案系統並與檔案系統進行互動。
無需安裝。 作為 Node.js
核心的組成部分可以通過簡單地引用來使用它:
const path = require('path')
方法
path.basename
獲取路徑中的檔名
require('path').basename('/test/something') //something require('path').basename('/test/something.txt') //something.txt require('path').basename('/test/something.txt', '.txt') //something
path.dirname
返回路徑的目錄部分
require('path').dirname('/test/something') // /test
require('path').dirname('/test/something/file.txt') // /test/something
path.extname
返回路徑的副檔名部分
require('path').extname('/test/something') // ''
require('path').extname('/test/something/file.txt') // '.txt'
path.isAbsolute
檢測是否為絕對路徑
require('path').isAbsolute('/test/something') // true require('path').isAbsolute('./test/something') // false
path.join
路徑拼接
const name = '001'
require('path').join('/', 'abc', name, 'index.txt') //'/abc/001/index.txt'
path.normalize
解析 '..' 和 '.' 片段 當包含諸如 .、.. 或雙斜槓之類的相對說明符時,其會嘗試計算實際的路徑
require('path').normalize('/abc/001/..//index.txt') //'/abc/001/index.txt'
path.parse
解析物件的路徑為組成其的片段
- root: 根路徑
- dir: 從根路徑開始的資料夾路徑
- base: 檔名 + 副檔名
- name: 檔名
- ext: 副檔名
require('path').parse('/users/test.txt')
// {
// root: '/',
// dir: '/users',
// base: 'test.txt',
// ext: '.txt',
// name: 'test'
// }
path.format
方法從物件返回路徑字串。 與 path.parse() 相反
path.format({
root: '/ignored',
dir: '/home/user/dir',
base: 'file.txt'
});
// 返回: '/home/user/dir/file.txt
path.relative
接受 2 個路徑作為引數。 基於當前工作目錄,返回從第一個路徑到第二個路徑的相對路徑。
require('path').relative('/Users/joe', '/Users/joe/test.txt') //'test.txt'
require('path').relative('/Users/joe', '/Users/joe/something/test.txt') //'something/test.txt'
path.resolve()
可以使用 path.resolve() 獲得相對路徑的絕對路徑計算:
可以使用 path.resolve() 獲得相對路徑的絕對路徑計算:
path.resolve('joe.txt') //'/Users/joe/joe.txt' 如果從主資料夾執行
通過指定第二個引數,resolve 會使用第一個引數作為第二個引數的基準:
path.resolve('tmp', 'joe.txt') //'/Users/joe/tmp/joe.txt' 如果從主資料夾執行
如果第一個引數以斜槓開頭,則表示它是絕對路徑:
path.resolve('/etc', 'joe.txt') //'/etc/joe.txt'
path.toNamespacedPath
僅在 Windows 系統上,返回給定 path 的等效名稱空間字首路徑。 如果 path 不是字串,則將返回 path 而不進行修改。
此方法僅在 Windows 系統上有意義。 在 POSIX 系統上,該方法不可操作,並且始終返回 path 而不進行修改。
屬性
path.delimiter
提供平臺特定的路徑定界符
path.posix
屬性提供對 path 方法的 POSIX 特定實現的訪問
path.sep
提供平臺特定的路徑片段分隔符
- Windows 上是 \
- Mac 上是 /
path.win32
屬性提供對特定於 Windows 的 path 方法的實現的訪問