P03:node內置模塊path

相關文章

內置模塊path

  • 模塊提供用於處理文件路徑和目錄路徑的實用工具
  • path 模塊的默認操做因 Node.js 應用程序運行所在的操做系統而異。 具體來講,當在 Windows 操做系統上運行時, path 模塊將假定正在使用 Windows 風格的路徑。所以,使用 path.basename() 可能會在 POSIX 和 Windows 上產生不一樣的結果
    • path.normalize() 方法規範化給定的 path,解析 '..' 和 '.' 片斷
      const {normalize} = require('path')
      console.log(normalize('./..//')) // 給定不規範的路徑
      // 輸出規範路徑 ..\
      複製代碼
    • path.join() 方法使用平臺特定的分隔符做爲定界符將全部給定的 path 片斷鏈接在一塊兒,而後規範化生成的路徑。(處理了上下級關係等)
      const {join} = require('path')
      console.log(join('/user','aaa','../'))
      // 輸出 \user\
      console.log(join('/user','aaa','../', 'bbb'))
      // 輸出 \user\bbb
      複製代碼
    • path.resolve() 方法將路徑或路徑片斷的序列解析爲絕對路徑。
      console.log(resolve('./'))
      // 輸出絕對路徑 E:\xxx\xxxx\xxxx\api
      複製代碼
    • path.basename() 方法返回 path 的最後一部分,相似於 Unix 的 basename 命令。 尾部的目錄分隔符將被忽略
    • path.dirname() 方法返回 path 的目錄名,相似於 Unix 的 dirname 命令。 尾部的目錄分隔符將被忽略
    • path.extname() 方法返回 path 的擴展名,從最後一次出現 .(句點)字符到 path 最後一部分的字符串結束
      const {basename, dirname,extname} = require('path')
      const fileName = 'user/saa/xzz.txt'
      console.log(basename(fileName)) // xzz.txt
      console.log(dirname(fileName)) // user/saa
      console.log(extname(fileName)) // .txt
      複製代碼
    • path.parse() 方法返回一個對象,其屬性表示 path 的重要元素。 尾部的目錄分隔符將被忽略
    • path.format() 與 path.parse() 行爲相反
      const {parse, format} = require('path')
      const url = '/user/data/aaa/b.js'
      const ret = parse(url)
      console.log(ret)
      //{ root: '/',
      //  dir: '/user/data/aaa',
      //  base: 'b.js',
      //  ext: '.js',
      //  name: 'b' }
      console.log(format(ret))
      // /user/data/aaa\b.js
      複製代碼
    • 提供平臺特定的路徑片斷分隔符:
      Windows 上是 \。
      POSIX 上是 /。
      複製代碼
    • 提供平臺特定的路徑定界符:
      ; 用於 Windows
          : 用於 POSIX
      複製代碼
    • path.win32 屬性提供對特定於 Windows 的 path 方法的實現的訪問
    • path.posix 屬性提供對 path 方法的 POSIX 特定實現的訪問。
      <!--做者爲windows 系統-->
      const {sep, delimiter, win32, posix} = require('path')
      console.log('sep:', sep)
      // sep: \
      console.log('delimiter:', delimiter)
      // delimiter: ;
      console.log('posix sep:', posix.sep)
      // posix sep: /
      console.log('posix delimiter:', posix.delimiter)
      // posix delimiter: :
      複製代碼

特殊注意

  • 關於path: _dirname _filename 老是返回文件的絕對路徑
  • 關於path: process.cwd() 老是返回node命令執行的路徑(調用node的路徑)
  • require 方法的路徑老是相對於當前文件

closenode

相關文章
相關標籤/搜索