ensureLink()函數確保給定的兩個文件之間存在鏈接。如果目標文件不存在,將創建該文件並創建它們之間的鏈接,但如果源文件不存在,則該函數將引發錯誤。如果目標文件的目錄結構不存在,則會創建該目錄。鏈接是指兩個鏈接的文件都是彼此的副本。如果在一個文件中進行了任何更改,它也會在另一個文件中得到反映。 createLink()是該函數的其他名稱。
用法:
fs.ensureLink(srcPath,destPath,callback)
fs.createLink(srcPath,destPath,callback)
參數:該函數接受上麵提到和下麵描述的三個參數。
- srcPath:它是一個字符串,其中包含要與另一個文件鏈接的文件的路徑。該文件必須存在,否則該函數將引發錯誤。
- destPath:它是一個字符串,其中包含另一個文件的路徑,該文件將鏈接到srcPath中指定的文件。
- callback:建立鏈接後或在執行過程中發生錯誤時將調用該方法。也可以用Promise代替回調函數。
返回值:它不返回任何東西。
請按照以下步驟實現該函數:
-
可以使用以下命令安裝該模塊:
npm install fs-extra
-
安裝模塊後,可以使用以下命令檢查已安裝模塊的版本:
npm ls fs-extra
-
使用以下命令創建一個名為index.js的文件,並在文件中需要fs-extra模塊:
const fs = require('fs-extra');
-
要運行文件,請在終端中輸入以下命令:
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
相關用法
- Node.js GM charcoal()用法及代碼示例
- Node.js GM blur()用法及代碼示例
- Node.js GM sharpen()用法及代碼示例
- Node.js GM drawLine()用法及代碼示例
- Node.js GM drawArc()用法及代碼示例
- Node.js GM drawPolyline()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
- Node.js GM drawCircle()用法及代碼示例
- Node.js GM drawEllipse()用法及代碼示例
- Node.js GM drawPolygon()用法及代碼示例
- Node.js GM drawRectangle()用法及代碼示例
- Node.js GM paint()用法及代碼示例
- Node.js GM orderedDither()用法及代碼示例
- Node.js GM roll()用法及代碼示例
- Node.js GM segment()用法及代碼示例
- Node.js GM quality()用法及代碼示例
- Node.js GM raise()用法及代碼示例
- Node.js GM resize()用法及代碼示例
- Node.js GM transparent()用法及代碼示例
- Node.js GM thumbnail()用法及代碼示例
- Node.js GM threshold()用法及代碼示例
- Node.js GM whitePoint()用法及代碼示例
- Node.js GM whiteThreshold()用法及代碼示例
注:本文由純淨天空篩選整理自pritishnagpal大神的英文原創作品 NodeJS fs-extra ensureLink() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。