2020-11-13

【やたら簡単】Node.jsでフォルダごと複製コピーする方法!

Node.jsではフォルダ単位の複製は複雑なコードを書かねばならない。fs-extraというパッケージを使って超簡単解決!

Article Image

Node.jsでフォルダを複製するのは難しい

調べてもらうとわかるがNode.js標準のfsだけでフォルダを複製しようとすると結構な行のコードを書かねばならない。

fs-extraというパッケージを利用

そこでfs-extraというfsを拡張したパッケージが配布されておりそれを利用するとたった1行で解決できる。

本家:fs-extra - npm

インストール

npm i fs-extra

余談:9年前から存在するパッケージだが2020年内に更新されているので安定して更新されているらしく信頼できる。

プログラム本体

今回はファイル名copy.mjsとし。文法はES6。

なんとコードは2行

import fse from 'fs-extra'

fse.copySync("A","B")

copySyncというコードのみ。

  • 第一引数:複製元のフォルダ
  • 第二引数:複製先のフォルダ

を指定する。

つまりAフォルダをBフォルダという名前で複製

引数はパスで指定できるので複雑な場合はpathライブラリなどを使おう。

テスト

テストする。

今回のフォルダ構成

image-20201113151037349

copy.mjsと同じフォルダにコピー元「A」がある。

テスト用に内側に別のフォルダとテキストを入れておいた。

プログラムを実行

この状態でプログラムを実行するだけ。

image-20201113151136867

問題なく完了。

フォルダ内にあるフォルダもテキストもすべて完璧に複製。テキストファイルの中身も変わっていない。

基本は以上で終了。

さいごに

今回はNode.js標準ではできないフォルダ複製に絞ってfs-extraを使用したが他にも様々なメソッドが用意されているので詳しくはそちらを参照。

fs-extra - npm



この記事のタグ

この記事をシェア


謎の技術研究部 (謎技研)