1. 程式人生 > 實用技巧 >3 path核心模組

3 path核心模組

const path = require('path')
// require('./static/test/test')
{
  /*
  總結:
__dirname: 獲得當前執行檔案所在目錄的完整目錄名
__filename: 獲得當前執行檔案的帶有完整絕對路徑的檔名
process.cwd():獲得當前執行node命令時候的資料夾目錄名
./: 不使用require時候,./與process.cwd()一樣,使用require時候,與__dirname一樣
只有在 require() 時才使用相對路徑(./, ../) 的寫法,其他地方一律使用絕對路徑,如下:

// 當前目錄下
 path.dirname(__filename) + '/path.js'; 
// 相鄰目錄下
 path.resolve(__dirname, '../regx/regx.js');
  
*/ } { //獲取路徑 console.log('獲取路徑'); let res = path.dirname('./static/test/test.js') // ./static/test console.log("res", res) } { //路徑拼接 console.log('------------------------------------'); console.log(__dirname); //當前檔案的父目錄路徑 D:\code1\nodeDemo\nodeLearn console.log(path.join(__dirname, '/img/1.png')) //
D:\code1\nodeDemo\nodeLearn\img\1.png console.log(path.join(__dirname, 'img/1.png')) // D:\code1\nodeDemo\nodeLearn\img\1.png console.log(path.join(__dirname, './img/1.png')) // D:\code1\nodeDemo\nodeLearn\img\1.png console.log(path.join(__dirname, '../img/1.png')) // D:\code1\nodeDemo\img\1.png
console.log('########################################'); console.log(path.resolve(__dirname, '/img/1.png')) // D:\img\1.png console.log(path.resolve(__dirname, 'img/1.png')) // D:\code1\nodeDemo\nodeLearn\img\1.png console.log(path.resolve(__dirname, './img/1.png')) // D:\code1\nodeDemo\nodeLearn\img\1.png console.log(path.resolve(__dirname, '../img/1.png'))// D:\code1\nodeDemo\img\1.png } { //獲取檔名path.basename(filepath) let path1 = path.basename('./static/test/test.js') // test.js let path2 = path.basename('/static/1.txt') // 1.txt // 第二個引數去掉結果字尾 let path3 = path.basename('./static/test/test.js', '.js') // test 本來是test.js --去掉.js -->test let path4 = path.basename('./static/test/test.js', '.css') // test.js 去不掉就原樣輸出 } { //獲取字尾 :path.extname(filepath) let ext = path.extname('./static/1.txt') //.txt let ext1 = path.extname('./static/test/test.js') // .js let ext2 = path.extname('static/test/test.js') // .js } { //提供平臺特定的路徑片段分隔符: Windows 分隔符上是 \。 let res = './foo/bar/baz'.split(path.sep); //[ './foo/bar/baz' ] let res1 = 'foo\\bar\\baz'.split(path.sep); //[ 'foo', 'bar', 'baz' ] }