Node 之 path 模塊

簡介:

  path就是其中的一個應用模塊,path模塊提供了一些用於處理文件路徑或者目錄的小工具  javascript

const path = require('path');

path 模塊 API

 1.path.basename(path[, ext]) 

  參數說明:path:文件路徑 string,ext(可選參數)文件的擴展名 string,返回string。html

  獲取路徑中文件名,後綴是可選的,若是加請使用'.xxx'方式來匹配,則返回值中不包括後綴名;java

  若是 path 或 ext 不是字符串,則拋出 TypeErrornode

const path = require('path')
// test文件夾下有一個test.html文件 console.log(path.basename('/test/test.html')) // test.html

  

const path = require('path')

console.log(path.basename('/test', '.html'))

// test

2.path.delimiter

  返回操做系統中目錄分隔符 git

console.log(process.env.PATH)
// /Users/apple/development/flutter/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

const path = require('path')
const val = process.env.PATH.split(path.delimiter)
console.log(val)

/*
['/Users/apple/development/flutter/bin',
  '/usr/local/bin',
  '/usr/bin',
  '/bin',
  '/usr/sbin',
  '/sbin'
]
*/

3.path.dirname(path)

  參數: path 路徑(string),函數返回一個stringgithub

  獲取路徑中目錄名app

const path = require('path')

// 當前目錄有個test文件夾下有test.html文件
console.log(path.dirname('test/test.html'))
//test

  __dirname是node.js中的一個全局變量,用來獲取當前模塊文件所在目錄的完整絕對路徑函數

const path = require('path')

// __dirname是node.js中的一個全局變量,用來獲取當前模塊文件所在目錄的完整絕對路徑
let thisPath = path.dirname(__dirname + '/test/test.html')
console.log(thisPath)

// /Users/apple/Desktop/githubdoc/node/path/test

  

4.path.extname(path)

  path string 返回 string工具

  返回 path 的擴展名,即從 path 的最後一部分中的最後一個 .(句號)字符到字符串結束。 若是 path 的最後一部分沒有 . 或 path 的文件名(參閱 path.basename())的第一個字符是 .,則返回空字符串。ui

const path = require('path')

console.log(path.extname('test.html'))
// .html

console.log(path.extname('test.md'))
// .md

console.log(path.extname('test'))
// 返回空 

console.log(path.extname('.test'))
// 返回空

console.log(path.extname('test.'))
// .

 

5.path.join([...paths])

 參數說明:...paths <string> 路徑片斷。返回: <string>

  使用平臺特定的分隔符把全部 path 片斷鏈接到一塊兒,並規範化生成的路徑。

  空字符串的 path 片斷會被忽略。 若是鏈接後的路徑是一個空字符串,則返回 '.',表示當前工做目錄。

const path = require('path')

path.join('/foo', '/bar', 'baz/abc', 'edf', '..')
//  Returns: /foo/bar/baz/abc

path.join('foo', {}, 'bar')
// throws TypeError: Arguments to path.join must be strings

  

6.path.normalize(path)

  路徑解析,獲得規範化的路徑格式,對window系統,目錄分隔爲'\', 對於UNIX系統,分隔符爲'/',針對'..'返回上一級;/與\\都被統一轉換

//For example on POSIX:
path.normalize('/foo/bar//baz/asdf/quux/..')
// Returns: '/foo/bar/baz/asdf'

//On Windows:
path.normalize('C:\\temp\\\\foo\\bar\\..\\');
// Returns: 'C:\\temp\\foo\\'

7.path.relative(from, to)

 獲取兩路徑之間的相對關係

   -from 當前路徑,而且方法返回值是基於from指定到to的相對路徑

   -to 到哪路徑

const path = require('path')
// 獲取兩路徑之間的相對關係

// from 當前路徑, 而且方法返回值是基於from指定到to的相對路徑
// to 到哪路徑
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
// Returns: '../../impl/bbb'

8.path.resolve([...paths])

  以應用程序爲起點,根據參數字符串解析出一個絕對路徑  

const path = require('path')

let thisPath = path.resolve('path1' + '/dist/bundle.js')
console.log(thisPath)

//Users/apple/Desktop/githubdoc/node/path/path1/dist/bundle.js
相關文章
相關標籤/搜索