摘要:拼接路徑中沒有帶有絕對(duì)路徑?jīng)]有末尾的路徑分隔符結(jié)果為拼接路徑中帶有絕對(duì)路徑結(jié)果為注意其中的為我的工作路徑,請(qǐng)對(duì)應(yīng)替換自己的路徑查看按照順序,依次拼接路徑并轉(zhuǎn)為后的結(jié)果路徑,路徑末尾的帶有路徑分隔符。結(jié)果為返回操作系統(tǒng)中文件分隔符是是。
path模塊包含一系列處理和轉(zhuǎn)換文件路徑的工具集,通過 require("path") 可用來訪問這個(gè)模塊。
知識(shí)點(diǎn):對(duì)window系統(tǒng),目錄分隔為"", 對(duì)于UNIX系統(tǒng),分隔符為"/",針對(duì)".."返回上一級(jí),發(fā)現(xiàn)多個(gè)斜杠或反斜杠時(shí)會(huì)替換成一個(gè),/,//,與都被統(tǒng)一轉(zhuǎn)換為
??按照順序依次拼接,獲取的是絕對(duì)路徑,路徑末尾的不會(huì)帶有路徑分隔符,若合并后的路徑?jīng)]有構(gòu)成一個(gè)絕對(duì)路徑,則會(huì)默認(rèn)使用當(dāng)前工作目錄的絕對(duì)路徑。
// 拼接路徑中沒有帶有絕對(duì)路徑 var _path = path.resolve("path3", "path4", "a/bcc"); // 沒有末尾的路徑分隔符 // 結(jié)果為:D:others odeexamplespath3path4acc // 拼接路徑中帶有絕對(duì)路徑 var _path = path.resolve("D://work/ready/demo", "path3", "path4", "a/bcc"); // 結(jié)果為:D:work eadydemopath3path4acc
注意: 其中的D:othersnodeexamples為我的工作路徑,請(qǐng)對(duì)應(yīng)替換自己的路徑查看
??按照順序,依次拼接路徑、并轉(zhuǎn)為normalize后的結(jié)果路徑,路徑末尾的帶有路徑分隔符。
var _path = path.join("path1", "path2p/cc//", "/c/../ttt"); // 結(jié)果為:path1path2pcc tt
??獲取相對(duì)路徑,獲取兩個(gè)路徑之間的相對(duì)關(guān)系。
from 當(dāng)前路徑,并且方法返回值是基于from指定到to的相對(duì)路徑,路徑末尾的不帶有路徑分隔符
to 到哪路徑
var from = "D:workserver", to = "D:/work/ready/demo"; var _path = path.relative(from, to); // 表示從from 到 to的相對(duì)路徑 // 結(jié)果為:.. eadydemo
??獲取絕對(duì)路徑,是一個(gè)絕對(duì)路徑(比如 "E:/abc"或"E:"),或者是以“/”或“”開頭的路徑,二者都會(huì)返回true。
console.log(path.isAbsolute("D:workserver")); // true console.log(path.isAbsolute("workserver")) // true console.log(path.isAbsolute("/temp/../..")); // true console.log(path.isAbsolute("E:/github/nodeAPI/abc/efg")); // true console.log(path.isAbsolute("http:///temp123")); // true console.log(path.isAbsolute("http://temp123")); // true
??路徑解析、得到規(guī)范化的格式。
var _path = path.normalize(__dirname + "http://test/a//b/..//c"); // 結(jié)果為:D:others odeexamples estac
??該方法用于將一個(gè)字符串類型的路徑轉(zhuǎn)化為一個(gè)路徑對(duì)象(pathObject)。該路徑對(duì)象當(dāng)中包括文件目錄,文件名,擴(kuò)展名等。
var _path = path.format(path.format({ root: "E:", dir: "D:others odeexamples/test", base: "util you.mp4", ext: ".mp4", name: "util you as me" } )); // 結(jié)果為:D:others odeexamples/testutil you.mp4
??該方法用于將一個(gè)路徑對(duì)象轉(zhuǎn)化為一個(gè)字符串類型的路徑(pathString)。
var _path = path.parse(__dirname + "/test/util you.mp3"); // 結(jié)果為: // { root: "D:", // dir: "D:others odeexamples/test", // base: "util you.mp3", // ext: ".mp3", // name: "util you" // }
??獲取路徑中目錄結(jié)構(gòu),不會(huì)轉(zhuǎn)為normalize后的結(jié)果路徑。
var _path = path.dirname(__dirname + "/test/hha/util you.mp3"); // 注意/ // 結(jié)果為:D:others odeexamples/test/hha var _path = path.dirname(__dirname + "/test/hha/"); // 注意/ // 結(jié)果為:D:others odeexamples/test
??獲取路徑中文件名(.ext則包括后綴名)。
var _path = path.basename(__dirname + "/test/util you.mp3", ".mp3"); var _path = path.basename(__dirname + "/test/util you", ".mp3"); var _path = path.basename(__dirname + "/test/util you", ".ext"); // 結(jié)果為:util you var _path = path.basename(__dirname + "/test/util you.mp3"); var _path = path.basename(__dirname + "/test/util you.mp3", ""); var _path = path.basename(__dirname + "/test/util you.mp3", ".ext"); // 結(jié)果為:util you.mp3 var _path = path.basename(__dirname + "/test/", ".mp3"); // 結(jié)果為:test
??獲取路徑中文件后綴名。
var _path = path.extname(__dirname + "/test/util you.mp3"); // 結(jié)果為:.mp3 var _path = path.extname(__dirname + "/test/util you"); // 結(jié)果為:為空屬性
??這兩個(gè)均為屬性。
??path:會(huì)根據(jù)當(dāng)前操作系統(tǒng)來確定是使用windows的方式來操作路徑,還是使用linux的方式來操作路徑。
??path.win32:允許在任意操作系統(tǒng)上使用windows的方式來操作路徑。
??path.posix:允許在任意操作系統(tǒng)上使用linux的方式來操作路徑。
??故在windows系統(tǒng)中,path==path.win32,而在linux系統(tǒng)當(dāng)中,path==path.posix。
console.log(path == path.win32); // true console.log(path == path.posix); // false
??返回操作系統(tǒng)中目錄分隔符,如window是";", Unix中是":"。
console.log(path.delimiter); // 結(jié)果為:;
??返回操作系統(tǒng)中文件分隔符; window是"", Unix是"/"。
console.log(path.sep); // 結(jié)果為: console.log("fooaraz".split(path.sep)); // [ "foo", "bar", "baz" ] console.log("foo/bar/baz".split(path.sep)); // win下返回["foo/bar/baz"],但在*nix系統(tǒng)下會(huì)返回["foo","bar","baz"]
參見官方文檔
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95417.html
摘要:這個(gè)由提供的工具。在轉(zhuǎn)換步驟是異步時(shí),你可以這樣告訴本次轉(zhuǎn)換是異步的,會(huì)在中回調(diào)結(jié)果通過返回異步執(zhí)行后的結(jié)果參考編寫一個(gè) 本文示例源代碼請(qǐng)戳github博客,建議大家動(dòng)手敲敲代碼。 本文不會(huì)介紹loader的一些使用方法,不熟悉的同學(xué)請(qǐng)自行查看Webpack loader 1、背景 首先我們來看一下為什么需要loader,以及他能干什么?webpack 只能理解 JavaScript...
摘要:神一樣的存在。所以呢,就利用兩天時(shí)間,參考了一些他人的文章,查閱了一些官方的配置,就在此先稍微記錄一下。這份配置解析是基于最新版本的。不過,我非常建議,先別看我的文章,自己一句一句的通讀一遍。和中的配置含義相似。 webpack--神一樣的存在。無論寫了多少次,再次相見,仍是初見。有的時(shí)候開發(fā)vue項(xiàng)目,對(duì)尤大的vue-cli感激涕零。但是,但是,但是。。。不是自己的東西,真的很不想折...
摘要:之輸出的最后就是為了得到打包結(jié)果。在這里可以看到很多相似,但是有不同含義的名次,如和,和,那他們有什么區(qū)別呢而這里的又是什么意思呢將多個(gè)模塊打包之后的代碼集合稱為。在這樣打包的話,會(huì)報(bào)錯(cuò)。所以就想搞明白這兩個(gè)的區(qū)別到底是什么。webpack之輸出 webpack的最后就是為了得到打包結(jié)果。 那這是一個(gè)怎么樣的過程,不同的配置,會(huì)有什么樣的結(jié)果呢? 本文的原文在我的博客中:github.com...
摘要:回調(diào)函數(shù)提供兩個(gè)參數(shù)和,表示有沒有錯(cuò)誤發(fā)生,是文件內(nèi)容。文件關(guān)閉第一個(gè)參數(shù)文件時(shí)傳遞的文件描述符第二個(gè)參數(shù)回調(diào)函數(shù)回調(diào)函數(shù)有一個(gè)參數(shù)錯(cuò)誤,關(guān)閉文件后執(zhí)行。 showImg(//img.mukewang.com/5d3f890d0001836113660768.jpg); 人所缺乏的不是才干而是志向,不是成功的能力而是勤勞的意志。 —— 部爾衛(wèi) 文章同步到github博客:https:/...
摘要:接下來我看看一下函數(shù)我們先按照分支走為讀取是里的對(duì)象,饒了這大的一個(gè)圈子,那么接下來一起來看一看對(duì)你的輸入配置做了怎么樣的處理吧 打開webpeck-cli下的convert-argv.js文件 // 定義options為空數(shù)組 const options = []; // webpack -d 檢查 -d指令 if (argv.d) { //... } ...
閱讀 4169·2021-09-22 15:34
閱讀 2779·2021-09-22 15:29
閱讀 501·2019-08-29 13:52
閱讀 3362·2019-08-29 11:30
閱讀 2270·2019-08-26 10:40
閱讀 845·2019-08-26 10:19
閱讀 2264·2019-08-23 18:16
閱讀 2325·2019-08-23 17:50