fs-extra 中的非同步複製 - NodeJS
非同步複製簡介
此方法將檔案或目錄從一個位置複製到另一個位置。該目錄可以包含子目錄和檔案。
語法
copy(src, dest[, options][, callback])
引數
src – 這是一個字串引數,用於儲存需要複製的檔案或目錄的源位置。如果位置是目錄,它將複製目錄內部的所有內容而不是整個目錄。
dest – 它將儲存檔案/目錄將被複制到的目標位置。如果 src 是檔案,則 dest 不能是目錄。
options −
overwrite – 如果設定為 true,則將覆蓋現有的檔案或目錄。預設值為 true。
errorOnExist – 僅當 overwrite 設定為 false 時,如果目標檔案/資料夾存在,它將丟擲錯誤。
preserveTimestamps – 如果為 true,則最新修改和訪問時間將設定為原始檔案的時間,否則它將取決於作業系統。
filter – 此選項將過濾複製的檔案。如果設定為 true,則將包含已過濾的檔案。
callback – 如果發生任何錯誤,此函式將提供回撥。
示例
在繼續之前,請檢查是否已安裝 fs-extra,如果沒有,請安裝 fs-exra。
您可以使用以下命令檢查是否已安裝 fs-extra。
npm ls fs-extra
建立一個 **copyExample**.js 並將以下程式碼片段複製貼上到該檔案中。
現在,執行以下命令來執行程式碼片段。
node copyExample.js
程式碼片段
const fs = require('fs-extra')
// Copies file with a callback:
fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
if (err) return console.error(err)
console.log('success with callback!')
}) // Return a callback if any error occurs
// Copies directory from src to dest
fs.copy('/tmp/mydir', '/tmp/mynewdir', err => {
if (err) return console.error(err)
console.log('Directories copied successfully!')
})
// Copies file with Promises:
fs.copy('/tmp/myfile', '/tmp/mynewfile')
.then(() => {
console.log('success with promise!')
})
.catch(err => {
console.error(err)
})
// Copies file with async/await:
async function copyExample () {
try {
await fs.copy('/tmp/myfile', '/tmp/mynewfile')
console.log('success with await!')
} catch (err) {
console.error(err)
}
}
copyExample()輸出
C:\Users\tutorialsPoint\> node copyExample.js success with callback! success with promise! success with await! Directories copied successfully!
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP