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!

更新於: 2021年4月27日

728 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.