国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Node.js】深度解析常用核心模塊-path模塊

這篇具有很好參考價(jià)值的文章主要介紹了【Node.js】深度解析常用核心模塊-path模塊。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? 作者簡(jiǎn)介:一名將要邁入大三的大學(xué)生,致力于提高前端開發(fā)能力
? 個(gè)人主頁(yè):前端小白在前進(jìn)的主頁(yè)
?? 系列專欄 : node.js學(xué)習(xí)專欄
?? 個(gè)人社區(qū) : 個(gè)人交流社區(qū)
?? 學(xué)習(xí)格言: ?? 打不倒你的會(huì)使你更強(qiáng)!??

??前言

在node.js中常用的三大模塊中還有一個(gè)是path模塊,主要是為了便利用戶處理路徑問題,如果我們?cè)谝胛募臅r(shí)候經(jīng)常會(huì)受到.././的干擾,那么這個(gè)path模塊將會(huì)很好的幫助你!

相對(duì)路徑和絕對(duì)路徑

相對(duì)路徑和絕對(duì)路徑的概念

在這里首先先復(fù)習(xí)一下相對(duì)路徑和絕對(duì)路徑:

  • 絕對(duì)路徑 : 文件真實(shí)的存放位置 (以Web 站點(diǎn)根目錄為參考基礎(chǔ)的目錄路徑。之所以稱為絕對(duì),意指當(dāng)所有網(wǎng)頁(yè)引用同一個(gè)文件時(shí),所使用的路徑都是一樣的。其實(shí)絕對(duì)路徑與相對(duì)路徑的不同處,只在于描述目錄路徑時(shí),所采用的參考點(diǎn)不同。由于對(duì)網(wǎng)站上所有文件而言,根目錄這個(gè)參考點(diǎn)對(duì)所有文件都是一樣的,因此,運(yùn)用以根目錄為參考點(diǎn)的路徑描述方式才會(huì)被稱之為絕對(duì)路徑)
  • 相對(duì)路徑 : 相對(duì)于當(dāng)前位置的路徑 (以引用文件之網(wǎng)頁(yè)所在位置為參考基礎(chǔ),而建立出的目錄路徑。因此,當(dāng)保存于不同目錄的網(wǎng)頁(yè)引用同一個(gè)文件時(shí),所使用的路徑將不相同,故稱之為相對(duì))

路徑特殊符號(hào)

"./" ------ 代表目前所在的目錄,相對(duì)路徑
"../" ------ 代表上一層目錄,相對(duì)路徑
"../../" ------ 代表的是上一層目錄的上一層目錄,相對(duì)路徑
"/" ------ 代表根目錄,絕對(duì)路徑
"C:/users/" ------ 代表根目錄,絕對(duì)路徑

示例:
一般情況下我們不會(huì)去使用絕對(duì)路徑引入文件,一般使用相對(duì)路徑,因?yàn)橄鄬?duì)路徑會(huì)更加的靈活,以及在書寫的項(xiàng)目上線的時(shí)候使用絕對(duì)路徑將很麻煩,相對(duì)路徑y(tǒng)yds!

現(xiàn)在需要實(shí)現(xiàn)一個(gè)小功能,將該圖片以不同形式引入到html文件中:
【Node.js】深度解析常用核心模塊-path模塊

  • 絕對(duì)路徑
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    img {
        width: 1200px;
        height: 700px;
    }
</style>
<body>
    <img src="/image/23on23-01_2.jpg" alt="">
</body>
</html>

在這里使用了路徑符號(hào)/,/這個(gè)符號(hào)代表了根目錄(D:/node復(fù)盤/03)。

  • 相對(duì)路徑
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    img {
        width: 1200px;
        height: 700px;
    }
</style>
<body>
    <img src="./image/23on23-01_2.jpg" alt="">
</body>
</html>

在這里使用了路徑符號(hào)./,./代表了目前所在的目錄(D:/node復(fù)盤/03)。

成功引入:
【Node.js】深度解析常用核心模塊-path模塊

path 路徑模塊

什么是path路徑模塊

path 模塊是 Node.js 官方提供的、用來處理路徑的模塊。它提供了一系列的方法和屬性,用來滿足用戶對(duì)路徑的處理需求。

獲取路徑名path.dirname()

返回 path 的目錄名。 尾部的目錄分隔符將被忽略。語(yǔ)法格式:
path.dirname(path)

代碼示例:

const path = require('path')
console.log(path.dirname(`D:/node/02/hello.js`));  // D:/node/02

這個(gè)方法打印出了目錄名D:/node/02

路徑拼接 path.join()

使用 path.join() 方法,可以把多個(gè)路徑片段拼接為完整的路徑字符串,語(yǔ)法格式如下:
path.join([...paths])

參數(shù)解讀:

  1. …paths < string > 路徑片段的序列
  2. 返回值: < string >

代碼示例:

const path = require('path')
//   注意: ../會(huì)抵消前面的路徑
const pathStr = path.join('/a','/b/c','../','./c','/d')
console.log(pathStr);  //   \a\b\c\d

首先要引入path模塊,node中引入模塊使用內(nèi)置的方法require(),如上例中寫多個(gè)字符串,最后打印出來了\a\b\c\d,就是join的拼接功能,但是在這里要注意一點(diǎn):../會(huì)抵消前面的路徑,比如在案例中../抵消了/c

獲取路徑中文件名 path.basename()

使用 path.basename() 方法,可以獲取路徑中的最后一部分,常通過該方法獲取路徑中的文件名,語(yǔ)法格式如下:
path.basename(path[, ext])

參數(shù)解讀:

  1. path: 文件路徑
  2. ext: 文件擴(kuò)展名

代碼示例:

const path = require('path')

// 定義文件的存放路徑
const fpath = '/a/b/c/index.html'

const fullName = path.basename(fpath)
console.log(fullName) // index.html

const nameWithoutExt = path.basename(fpath, '.html')
console.log(nameWithoutExt) // index

當(dāng)沒有傳入第二個(gè)參數(shù)的時(shí)候,返回的將是路徑的最后部分,所以返回了index.html,當(dāng)?shù)诙€(gè)參數(shù)傳入時(shí),將會(huì)在第一種情況的基礎(chǔ)下裁剪掉第二個(gè)參數(shù)值,所以返回了index

獲取路徑中文件擴(kuò)展名 path.extname()

使用 path.extname() 方法,返回路徑中文件的后綴名,即路徑中最后一個(gè)'.'之后的部分。如果一個(gè)路徑中并不包含'.'或該路徑只包含一個(gè)'.' 且這個(gè)'.'為路徑的第一個(gè)字符,則此命令返回空字符串。語(yǔ)法格式如下:
path.extname(path)
參數(shù)path:傳入的路徑

代碼示例:

const path = require('path')

const fpath = '/a/b/c/index.html'

const fext = path.extname(fpath)
console.log(fext) // .html

這個(gè)方法與上邊的方法不同的在于提取了后綴名!

解析為絕對(duì)路徑 path.resolve()

path.resolve() 該方法將一些的 路徑/路徑段 解析為絕對(duì)路徑,語(yǔ)法格式如下:
path.resolve( [from…],to )
注 :將參數(shù)to位置的字符解析到一個(gè)絕對(duì)路徑里,[from … ]為選填項(xiàng),路徑源;

參數(shù)解讀:

  1. from : 源路徑
  2. to : 將被解析到絕對(duì)路徑的字符串

代碼示例:

const path = require('path)
path.resolve('/foo/bar', './baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', 'baz')   // returns '/foo/bar/baz'
path.resolve('/foo/bar', '/baz')   // returns '/baz'
path.resolve('/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','/foo/bar', '../baz')   // returns '/foo/baz'
path.resolve('home','./foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home','foo/bar', '../baz')   // returns '/home/foo/baz'
path.resolve('home', 'foo', 'build','aaaa','aadada','../../..', 'asset') //return '/home/foo/asset'

從后向前,若字符以 / 開頭,不會(huì)拼接到前面的路徑;若以../開頭,拼接前面的路徑,且不含最后一節(jié)路徑;若連續(xù)出現(xiàn)多個(gè)../../..或者../..則忽略前方n(這個(gè)n代表的是出現(xiàn)了幾個(gè)..)個(gè)..路徑名進(jìn)行拼接;若以./開頭 或者沒有符號(hào) 則拼接前面路徑;

返回相對(duì)路徑 path.relative(from, to)

path.relative() 方法根據(jù)當(dāng)前工作目錄返回 from 到 to 的相對(duì)路徑。 如果 from 和 to 各自解析到相同的路徑(分別調(diào)用 path.resolve() 之后),則返回零長(zhǎng)度的字符串。
如果將零長(zhǎng)度的字符串傳入 from 或 to,則使用當(dāng)前工作目錄代替該零長(zhǎng)度的字符串。

代碼示例:

const path = require('path')
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
// 返回: '../../impl/bbb'

該代碼表達(dá)的是對(duì)于from參數(shù)來說,to參數(shù)的位置是在哪里,通過解析后得出../../impl/bbb

小結(jié)

node的內(nèi)置模塊中path模塊的實(shí)戰(zhàn)操作在于當(dāng)你需要獲取文件的名稱時(shí)候可以達(dá)到靈活使用的目的,一般情況下我們只需要文章的前四種方法,最后兩種方法是對(duì)path模塊的一個(gè)小拔高,繼續(xù)加油吧!文章來源地址http://www.zghlxwxcb.cn/news/detail-442255.html

到了這里,關(guān)于【Node.js】深度解析常用核心模塊-path模塊的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Node.js】path 模塊進(jìn)行路徑處理

    【Node.js】path 模塊進(jìn)行路徑處理

    Node.js 執(zhí)行 JS 代碼時(shí),代碼中的路徑都是以終端所在文件夾出發(fā)查找相對(duì)路徑,而不是以我們認(rèn)為的從代碼本身出發(fā),會(huì)遇到問題,所以在 Node.js 要執(zhí)行的代碼中,訪問其他文件,建議使用絕對(duì)路徑 實(shí)例: 問題原因:就是從代碼文件夾出發(fā),使用 ../text.txt 解析路徑,找不到

    2024年02月20日
    瀏覽(23)
  • Node.js |(三)Node.js API:path模塊及Node.js 模塊化 | 尚硅谷2023版Node.js零基礎(chǔ)視頻教程

    Node.js |(三)Node.js API:path模塊及Node.js 模塊化 | 尚硅谷2023版Node.js零基礎(chǔ)視頻教程

    學(xué)習(xí)視頻 :尚硅谷2023版Node.js零基礎(chǔ)視頻教程,nodejs新手到高手 ??模塊初體驗(yàn) 創(chuàng)建 me.js 創(chuàng)建 index.js ??暴露數(shù)據(jù) 模塊暴露數(shù)據(jù)的方式有兩種: module.exports = value exports.name = value module.exports 可以暴露 任意 數(shù)據(jù)。 不能使用 exports = value 的形式暴露數(shù)據(jù),模塊內(nèi)部 module 與

    2024年02月13日
    瀏覽(31)
  • Node.js-fs、path、http模塊

    Node.js-fs、path、http模塊

    Node.js 作為一個(gè)JavaScript 的運(yùn)行環(huán)境,僅僅提供了基礎(chǔ)的功能和 AP1。然而,基于 ode.s 提供的這些基礎(chǔ)能,很多強(qiáng)大的工具和框架如雨后春筍,層出不窮,所以學(xué)會(huì)了 Nodejs,可以讓前端程序員勝任更多的工作和崗位: 基于Express 框架(http://www.expressjs.com.cn/),可以快速構(gòu)建 Web 應(yīng)用

    2024年02月04日
    瀏覽(51)
  • node.js內(nèi)置模塊fs,path,http使用方法

    NodeJs中分為兩部分 一是V8引擎為了解析和執(zhí)行JS代碼。 二是內(nèi)置API,讓JS能調(diào)用這些API完成一些后端操作。 內(nèi)置API模塊(fs、path、http等) 第三方API模塊(express、mysql等) fs模塊 fs.readFile()方法,用于讀取指定文件中的內(nèi)容。 fs.writeFile()方法,用于向執(zhí)行的文件中寫入內(nèi)容 path路徑處

    2024年02月12日
    瀏覽(100)
  • Node.js 學(xué)習(xí)筆記 fs、path、http模塊;模塊化;包;npm

    Node.js 學(xué)習(xí)筆記 fs、path、http模塊;模塊化;包;npm

    教學(xué)視頻 BV1MN411y7pw , P83-97的筆記 Node.js是一個(gè)跨平臺(tái)JavaScript運(yùn)行環(huán)境,使開發(fā)者可以搭建服務(wù)器端的JavaScript應(yīng)用程序。 作用:使用 Node.js 編寫服務(wù)器端程序 ? 編寫數(shù)據(jù)接口,提供網(wǎng)頁(yè)資源瀏覽功能等等 ? 前端工程化:為后續(xù)學(xué)習(xí) Vue 和 React 等框架做鋪墊 1.前端工程化 前

    2024年04月08日
    瀏覽(25)
  • Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon

    Node.js - fs模塊、path模塊、http模塊、Node.js模塊化(ECMAScript標(biāo)準(zhǔn)的導(dǎo)出和導(dǎo)入)、包、npm包的管理和安裝依賴、nodemon

    什么是 Node.js,有什么用,為何能獨(dú)立執(zhí)行 JS 代碼,演示安裝和執(zhí)行 JS 文件內(nèi)代碼? Node.js 是一個(gè)獨(dú)立的 JavaScript 運(yùn)行環(huán)境,能獨(dú)立執(zhí)行 JS 代碼,因?yàn)檫@個(gè)特點(diǎn),它可以用來 編寫服務(wù)器后端的應(yīng)用程序 在** 傳統(tǒng)Web開發(fā)中,瀏覽器就是JavaScript的運(yùn)行時(shí)環(huán)境 **, 因?yàn)樗峁┝?/p>

    2024年02月02日
    瀏覽(31)
  • 前端框架前置課Node.js學(xué)習(xí)(1) fs,path,模塊化,CommonJS標(biāo)準(zhǔn),ECMAScript標(biāo)準(zhǔn),包

    前端框架前置課Node.js學(xué)習(xí)(1) fs,path,模塊化,CommonJS標(biāo)準(zhǔn),ECMAScript標(biāo)準(zhǔn),包

    目錄 什么是Node.js 定義 作用: 什么是前端工程化 Node.js為何能執(zhí)行Js fs模塊-讀寫文件 模塊 語(yǔ)法: 1.加載fs模塊對(duì)象 2.寫入文件內(nèi)容 3.讀取文件內(nèi)容 Path模塊-路徑處理 為什么要使用path模塊 語(yǔ)法 URL中的端口號(hào) http模塊-創(chuàng)建Web服務(wù) 需求 步驟: 案例:瀏覽時(shí)鐘 步驟: 什么是模塊化 定

    2024年01月16日
    瀏覽(54)
  • Node.js基本概念、特點(diǎn)、用途和常用模塊,以及Express框架開發(fā)一個(gè)web應(yīng)用

    Node.js基本概念、特點(diǎn)、用途和常用模塊,以及Express框架開發(fā)一個(gè)web應(yīng)用

    目錄 一、Node.js的基本概念和特點(diǎn) 二、Node.js的用途 三、Node.js的常用模塊 四、使用Node.js進(jìn)行Web開發(fā) 1. 安裝Node.js 2. PyCharm配置Node.js 3. 使用http庫(kù)編寫一個(gè)web服務(wù) 4. 使用Express框架構(gòu)建Web應(yīng)用程序 5. 調(diào)試代碼 6. 發(fā)布應(yīng)用程序 參考文章 ?Node.js系列文章推薦閱讀: JavaScript匿名函

    2024年02月07日
    瀏覽(26)
  • node中的內(nèi)置模塊path和fs

    Node中的path模塊是用來操作文件路徑的內(nèi)置模塊,主要用于字符串路徑操作,其有多種用法用來返回不同的路徑信息。 path.join path.join()方法主要用于連接路徑。該方法的主要作用就是將所有傳入的路徑片段連接在一起,然后規(guī)范化生成的路徑。需要注意的是,在Join操作中’

    2024年02月13日
    瀏覽(26)
  • Python常用OS庫(kù)之path模塊學(xué)習(xí)

    學(xué)習(xí)python沒有太多捷徑,有也只有技巧,更重要的是要多學(xué)多練,個(gè)人覺得練更重要,讀萬卷書不如行萬里路。編程是一門技能,所以除了看還要多實(shí)踐,寫得多了自然也就有了路。 如果看全部的標(biāo)準(zhǔn)庫(kù)文檔,可以訪問這個(gè)鏈接?os --- 多種操作系統(tǒng)接口 — Python 3.12.3 文檔 接

    2024年04月14日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包