調べてもらうとわかるがNode.js標準のfs
だけでフォルダを複製しようとすると結構な行のコードを書かねばならない。
そこでfs-extra
というfs
を拡張したパッケージが配布されておりそれを利用するとたった1行で解決できる。
npm i fs-extra
余談:9年前から存在するパッケージだが2020年内に更新されているので安定して更新されているらしく信頼できる。
今回はファイル名copy.mjs
とし。文法はES6。
なんとコードは2行
import fse from 'fs-extra'
fse.copySync("A","B")
copySync
というコードのみ。
を指定する。
つまりAフォルダをBフォルダという名前で複製
引数はパスで指定できるので複雑な場合はpath
ライブラリなどを使おう。
テストする。
今回のフォルダ構成
copy.mjs
と同じフォルダにコピー元「A」がある。
テスト用に内側に別のフォルダとテキストを入れておいた。
この状態でプログラムを実行するだけ。
問題なく完了。
フォルダ内にあるフォルダもテキストもすべて完璧に複製。テキストファイルの中身も変わっていない。
基本は以上で終了。
今回はNode.js標準ではできないフォルダ複製に絞ってfs-extra
を使用したが他にも様々なメソッドが用意されているので詳しくはそちらを参照。