當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js fs-extra ensureLink()用法及代碼示例


ensureLink()函數確保給定的兩個文件之間存在鏈接。如果目標文件不存在,將創建該文件並創建它們之間的鏈接,但如果源文件不存在,則該函數將引發錯誤。如果目標文件的目錄結構不存在,則會創建該目錄。鏈接是指兩個鏈接的文件都是彼此的副本。如果在一個文件中進行了任何更改,它也會在另一個文件中得到反映。 createLink()是該函數的其他名稱。

用法:

fs.ensureLink(srcPath,destPath,callback)
fs.createLink(srcPath,destPath,callback)

參數:該函數接受上麵提到和下麵描述的三個參數。

  • srcPath:它是一個字符串,其中包含要與另一個文件鏈接的文件的路徑。該文件必須存在,否則該函數將引發錯誤。
  • destPath:它是一個字符串,其中包含另一個文件的路徑,該文件將鏈接到srcPath中指定的文件。
  • callback:建立鏈接後或在執行過程中發生錯誤時將調用該方法。也可以用Promise代替回調函數。

返回值:它不返回任何東西。

請按照以下步驟實現該函數:



  1. 可以使用以下命令安裝該模塊:

    npm install fs-extra
  2. 安裝模塊後,可以使用以下命令檢查已安裝模塊的版本:

    npm ls fs-extra

  3. 使用以下命令創建一個名為index.js的文件,並在文件中需要fs-extra模塊:

    const fs = require('fs-extra');
  4. 要運行文件,請在終端中輸入以下命令:

    node index.js

項目結構:項目結構如下所示。

範例1:創建一個名為file.txt的文件和一個名為des的文件夾,並在該文件夾內創建一個名為file.txt的文件。我們將在已經存在的文件上嘗試該函數。

index.js



// Requiring module 
const fs = require("fs-extra"); 
  
// source file path 
// File needs to exist 
const src = "file.txt"; 
// destination file path 
const dest = "des/file.txt"; 
  
// Function Call 
// Using callback function 
fs.ensureLink(src, dest, (err) => { 
  if (err) return console.log(err); 
  console.log("Success! Both files are now linked"); 
});

輸出:此輸出將在控製台中。您將觀察到兩個文件之間都建立了鏈接,現在,如果我們在一個文件中寫入任何內容,它將反映在另一個文件中。

範例2:這次我們將僅創建源文件。函數本身將創建目標文件並在它們之間建立鏈接。

index.js

// Requiring module 
const fs = require("fs-extra"); 
  
// source file path 
// File needs to exist 
const src = "file.txt"; 
// destination file path 
// File will be created if not exist 
const dest = "des/file.txt"; 
  
// Function Call 
// Using Promises 
fs.ensureLink(src, dest) 
  .then(() => console.log("Success!! Links between files establised")) 
  .catch((e) => console.log(e));

輸出:此輸出將在控製台中。您將看到,首先創建了一個名稱為des的目錄,一個名稱為file.txt的文件,然後在兩個文件中都建立了鏈接。

注意:在以上兩種情況下,輸出都將如下所示。在上麵的輸出中,您可以看到,如果在一個文件中進行了任何更改,它將反映在另一個文件中。這就是我們可以使用ensureFile()函數的方式。

參考:https://github.com/jprichardson/node-fs-extra/blob/HEAD/docs/ensureLink.md

相關用法


注:本文由純淨天空篩選整理自pritishnagpal大神的英文原創作品 NodeJS fs-extra ensureLink() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。