最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nodejs中fs文件系統(tǒng)模塊的路徑動(dòng)態(tài)拼接的問題和解決方案

 更新時(shí)間:2024年03月19日 10:07:50   作者:扶蘇1002  
在使用fs模塊操作文件時(shí),如果提供的操作路徑是以./或../開頭的相對(duì)路徑時(shí),很容易出現(xiàn)路徑動(dòng)態(tài)拼接錯(cuò)誤的問題,所以本文給大家介紹了Nodejs中fs文件系統(tǒng)模塊的路徑動(dòng)態(tài)拼接的問題和解決方案,需要的朋友可以參考下

一、問題和解決方案

在使用fs模塊操作文件時(shí),如果提供的操作路徑是以./或../開頭的相對(duì)路徑時(shí),很容易出現(xiàn)路徑動(dòng)態(tài)拼接錯(cuò)誤的問題

原因: 代碼在運(yùn)行的時(shí)候,會(huì)以執(zhí)行 node 命令運(yùn)行的目錄,動(dòng)態(tài)拼接出被操作文件的完整路徑,也就是說這里的./../參考點(diǎn)是node 命令運(yùn)行的目錄,而不是文件的目錄

解決方案:

  • 在使用fs模塊操作文件時(shí),直接提供完整的路徑,不要提供./或 ../開頭的相對(duì)路徑,從而防止路徑動(dòng)態(tài)拼接的問題
  • 使用內(nèi)置的__dirname當(dāng)前文件所處的目錄)配合path.join()動(dòng)態(tài)獲取文件路徑

二、認(rèn)識(shí)__dirname

__dirname 表示當(dāng)前文件所處的目錄
實(shí)例

文件層級(jí)結(jié)構(gòu)

image.png

index.js中

// __dirname 表示當(dāng)前文件所處的目錄
console.log(__dirname);  //D:\myProject\nodejs\nodejs\文件系統(tǒng)模塊\__dirname

image.png

從打印結(jié)果我們可以看出

__dirname 表示當(dāng)前文件所處的目錄

三、path路徑模塊

3.1. 什么是path 路徑模塊

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

  • path.join()方法,用來將多個(gè)路徑片段拼接成一個(gè)完整的路徑字符串
  • path.basename()方法,用來從路徑字符串中,將文件名解析出來

如果要在JavaScript代碼中,使用path 模塊來處理路徑,則需要使用如下的方式先導(dǎo)入它

const path = require('path')

3.2. path.join()

使用 path.join()方法,可以把多個(gè)路徑片段拼接為完整的路徑字符串

注意: path.join() ../代表抵消一層路徑

// 導(dǎo)入path模塊
const path = require("path");

const pathStr = path.join("/a", "/b/c", "../", "./d", "e");
// "../"抵消了/c這一層路徑
console.log(pathStr); //\a\b\d\e

四、path路徑模塊配合__dirname動(dòng)態(tài)獲取文件路徑

實(shí)例

文件層級(jí)結(jié)構(gòu)

image.png

成績(jī).txt

image.png

index.js

// 導(dǎo)入文件系統(tǒng)模塊
const fs = require("fs");
// 導(dǎo)入path模塊
const path = require("path");
// __dirname當(dāng)前文件所處的目錄
fs.readFile(path.join(__dirname, "/成績(jī).txt"), "utf8", function (err, dataStr) {
  if (err) return console.log(err.message); //讀取失敗
  console.log(dataStr); //讀取成功
});

image.png

以上就是Nodejs中fs文件系統(tǒng)模塊的路徑動(dòng)態(tài)拼接的問題和解決方案的詳細(xì)內(nèi)容,更多關(guān)于Nodejs fs路徑動(dòng)態(tài)拼接的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Nodejs之npm&package.json

    詳解Nodejs之npm&package.json

    本篇文章主要介紹了詳解Nodejs之npm&package.json,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • NodeJS實(shí)現(xiàn)圖片上傳代碼(Express)

    NodeJS實(shí)現(xiàn)圖片上傳代碼(Express)

    本篇文章主要介紹了NodeJS實(shí)現(xiàn)圖片上傳代碼(Express) ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 使用Nodejs連接mongodb數(shù)據(jù)庫的實(shí)現(xiàn)代碼

    使用Nodejs連接mongodb數(shù)據(jù)庫的實(shí)現(xiàn)代碼

    這篇文章主要介紹了使用Nodejs連接mongodb數(shù)據(jù)庫的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2017-08-08
  • 利用nodejs讀取圖片并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成base64格式

    利用nodejs讀取圖片并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成base64格式

    這篇文章主要介紹了利用nodejs讀取圖片并將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成base64格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Node.js readline 逐行讀取、寫入文件內(nèi)容的示例

    Node.js readline 逐行讀取、寫入文件內(nèi)容的示例

    本篇文章主要介紹了Node.js readline逐行讀取、寫入文件內(nèi)容的示例,運(yùn)用readline逐行讀取的兩種實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • node實(shí)現(xiàn)封裝一個(gè)圖片拼接插件

    node實(shí)現(xiàn)封裝一個(gè)圖片拼接插件

    這篇文章主要介紹了node實(shí)現(xiàn)封裝一個(gè)圖片拼接插件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • nodejs實(shí)現(xiàn)登陸驗(yàn)證功能

    nodejs實(shí)現(xiàn)登陸驗(yàn)證功能

    這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)登陸驗(yàn)證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • koa2上傳文件及https配置實(shí)現(xiàn)教程

    koa2上傳文件及https配置實(shí)現(xiàn)教程

    這篇文章主要為大家介紹了koa2上傳文件及https配置實(shí)現(xiàn)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • gulp安裝以及打包合并的方法教程

    gulp安裝以及打包合并的方法教程

    這篇文章主要給大家介紹了關(guān)于gulp實(shí)現(xiàn)人一個(gè)打包合并的方法教程,并分享了gulp打包js/css時(shí)合并成一個(gè)文件時(shí)的順序的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • NodeJS父進(jìn)程與子進(jìn)程資源共享原理與實(shí)現(xiàn)方法

    NodeJS父進(jìn)程與子進(jìn)程資源共享原理與實(shí)現(xiàn)方法

    這篇文章主要介紹了NodeJS父進(jìn)程與子進(jìn)程資源共享原理與實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了nodejs基于cluster模塊實(shí)現(xiàn)父進(jìn)程與子進(jìn)程資源共享的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03

最新評(píng)論

保靖县| 梁平县| 杨浦区| 高唐县| 柳州市| 钦州市| 郑州市| 苍南县| 车致| 印江| 综艺| 昌宁县| 巴南区| 龙门县| 利津县| 灯塔市| 康乐县| 许昌市| 武乡县| 红河县| 会理县| 慈溪市| 当雄县| 政和县| 清苑县| 县级市| 无棣县| 高陵县| 蓝山县| 邯郸县| 荆州市| 墨玉县| 诏安县| 饶河县| 钟山县| 台湾省| 襄城县| 江油市| 霍城县| 杭锦旗| 南昌市|