なんだかGoodVibes

日々の勉強メモです。

【Node】ディレクトリ作成(mkdirp,fs-extra)

こんにちは。
本日は、ディレクトリの作成方法についてメモです。


概要

今回紹介するのは

  • mkdirp
  • fs-extra

2つともnpmでインストールが必要です。


mkdirpでディレクトリを作成する

同期
const mkdirp = require('mkdirp');
const dir = './dir';

let d = mkdirp.sync(dir);
console.log(`"${d}"の作成が完了しました。`);

dには作成したディレクトリのパスが格納されています。

非同期
const mkdirp = require('mkdirp');
const dir = './dir';

mkdirp(dir)
    .then(d => console.log(`"${d}"の作成が完了しました。`));

dには作成したディレクトリのパスが格納されています。


fs-extraでディレクトリを作成する

fs-extraはfsモジュールの拡張版のようなものです。
なので、今までfsとしていた部分をfs-extraとしても動作するようです。

同期
const fse = require('fs-extra');
const dir = './dir';

fse.mkdirpSync(dir);
console.log("完了しました。");
非同期(コールバック)
const fse = require('fs-extra');
const dir = './dir';

fse.mkdirp(dir, err => {
    if (err) {
        console.log(err);
    } else {
        console.log("完了しました。");
    }
});
非同期(Promise)
const fse = require('fs-extra');
const dir = './dir';

fse.mkdirp(dir)
    .then(() => console.log("完了しました。"))
    .catch(err => console.log(err));


まとめ

どちらでも指定したディレクトリが作成できますが
ディレクトリの存在チェックとかはないので
それは作成前に行ってあげるといいでしょう。
以上です。


参考

mkdirp - npm

fs-extra - npm