上一章簡述了經過vue-cli腳手架建立項目中有關於webpack配置的部分。在咱們學習的時候,能夠發現裏面有許多插件的運用。而nodejs中插件也是比較重要的部分,因此這一章我就記錄學習的一些在build目錄下遇到插件。但本人英語廢,對於一些沒有中文只有英文介紹的插件我只能儘可能百度翻譯,若有錯請提出。若是有英語厲害的那就請大大幫忙翻譯介紹啊~~~~html
path與路徑有很大的關係,在學習path以前咱們不妨簡單地路徑學習一下相對路徑和絕對路徑的區別。
一、相對路徑就是以當前文件爲基準進行一級級目錄指向被引用的資源文件。vue
二、絕對路徑是指文件在硬盤上真正存在的路徑。node
path在nodejs運用的仍是比較多的,在路徑的處理上十分好用。並且它是node自帶的,因此並不須要用npm install 的方法下載。webpack
1. path.basename(path[, ext]):返回路徑的最後部分。我的認爲這個用來獲取文件名或者url中帶的參數。web
//只有參數path var joinPath = path.basename('/foo/bar/baz/asdf/quux.html') console.log(joinPath) /* 輸出quux.html */ //帶參數ext //過濾掉以ext結尾的字符串 //轉化成正則表達式:/(ext)$/g相似 var joinPath = path.basename('/foo/bar/baz/asdf/quux.html', '.html') console.log(joinPath) /* 輸出quux */ console.log(joinPath) /* 若是路徑是以‘quux.html?id=1’結尾 * 那麼將不會過濾,輸出quux.html?id=1 */
2. path.delimiter:提供特定於平臺的路徑分隔符,能夠配合Stirng.split(path.delimiter)
使用。正則表達式
//很是搞笑的是,我在windows環境下用vue-cli建立的webpack項目中src/main.js文件中驗證時,path.delimiter表明的符號恰好項目,我也是一臉懵呀!
3. path.dirname(path):與basename相對,返回除最後一部分的前面部門目錄vue-cli
/*返回'E:/shishans//blogsss//src'*/ console.info(path.dirname('E:/shishans/blogsss/src/assets'))
4. path.extname(path)獲取擴展名npm
//返回.html console.info(path.extname('index.html'))
5. path.format(pathObject):返回路徑字符串
pathObject裏面包括:windows
注意:pathObject裏面全部的屬性同是出現時,相似做用的屬性有優先級:(1).若是存在dir則root忽視;(2).若是存在base則忽視name和ext。api
//若是存在dir則root忽視 path.format({ root: '/ignored', dir: '/home/user/dir', base: 'file.txt' }); // Returns: '/home/user/dir/file.txt' //若是存在base則忽視name和ext path.format({ root: '/', base: 'file.txt', ext: 'ignored' }); // Returns: '/file.txt'
6. path.isAbsolute(path):判斷path是不是絕對路徑
7. path.normalize(path):將非標準路徑轉化成標準路徑,string爲要轉換的路徑字符串。轉化規則以下:
console.info(path.normalize('.//a/b//d')) //輸出a/b/c
;若是以../開頭則不省略,例:console.info(path.normalize('..//a/b//d')) //輸出../a/b/c
;console.info(path.normalize('..//a/b//d//')) //輸出../a/b/c/
console.info(path.normalize('.//a/b//d/..//c/.//f')) //輸出a\b\c\f
8. path.join([path1], [path2], [...]):將多個參數值字符串結合成一個路徑字符串,該方法的主要用途在於,會正確使用當前系統的路徑分隔符,Unix系統是"/",Windows系統是"\"。
9. path.parse(path):與path.format(pathObject)相反,format是根據dir、root、base、name和ext合成路徑字符串,而parse是根據路徑分解出來。
10. path.relative(from, to):該方法用於獲取兩個路徑之間的相對關係.對於這個方法我也不是怎麼理解,個人理解是:from和to去掉相同的路徑(即公用的目錄)根據from不一樣部分轉化'../',而後獲取to不一樣的部分。
理解:想象一下若是在aaa目錄下的文件如何訪問bbb下文件,咱們須要用../不斷地返回到2者公共的目錄,再去找bbb所在的目錄
11. path.resolve([...paths]):將一系列路徑解析成絕對路徑。
對於這個我也不瞭解,只有path.posix在utils.js文件中曾經看見過。多是一種兼容方式吧?!
菜鳥:http://www.runoob.com/nodejs/...
nodejs官網中Path部分:https://nodejs.org/api/path.h...