path就是其中的一個應用模塊,path模塊提供了一些用於處理文件路徑或者目錄的小工具 javascript
const path = require('path');
參數說明:path:文件路徑 string,ext(可選參數)文件的擴展名 string,返回string。html
獲取路徑中文件名,後綴是可選的,若是加請使用'.xxx'方式來匹配,則返回值中不包括後綴名;java
若是 path
或 ext
不是字符串,則拋出 TypeError
。node
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
返回操做系統中目錄分隔符 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' ] */
參數: 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
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.')) // .
參數說明:...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
路徑解析,獲得規範化的路徑格式,對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\\'
獲取兩路徑之間的相對關係
-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'
以應用程序爲起點,根據參數字符串解析出一個絕對路徑
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