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