ディレクトリを作成する
Node.jsでディレクトリを作成するには fs.mkdir
を使います。
const fs = require('fs');
fs.mkdir('test', (err) => {
if (err) { throw err; }
console.log('testディレクトリが作成されました');
});
fs.mkdir
には同期版の fs.mkdirSync
も存在します。
fs.mkdirSync('test');
fs.mkdir
はすでにディレクトリが存在するとエラーになります。testディレクトリがすでにある状態で fs.mkdir
を実行するとエラーになります。
fs.mkdir
を続けて実行してみましょう。
const fs = require('fs');
fs.mkdir('test', (err) => {
if (err) {
console.log(err.toString());
return;
}
console.log('testディレクトリが作成されました');
fs.mkdir('test', (err) => {
if (err) {
console.log(err.toString());
return;
}
})
});
このコードを実行すると次のようにエラーが表示されます。
testディレクトリが作成されました
Error: EEXIST: file already exists, mkdir 'test'
親ディレクトリも同時に作成する
recursive
オプションを使うと、親ディレクトリも含めてディレクトリを作成できます。
const fs = require('fs');
fs.mkdir('a/b/c/d/e', { recursive: true }, (err) => {
if (err) throw err;
});
また、recursive
オプションを使うとすでにディレクトリが存在していてもエラーになりません。
空のディレクトリを削除する
空のディレクトリの削除は fs.rmdir
で行えます。
fs.rmdir('dir', (err) => {
if (err) throw err;
console.log('a ディレクトリを削除しました');
});
中身のあるディレクトリを削除する
中身のあるディレクトリはそのままでは fs.rmdir
で削除することはできません。まずは中身を削除する必要があります。
もしくは fs-extra
を使うと簡単に削除できます。
$ npm install fs-extra
const fs = require('fs-extra');
fs.remove('dir', (err) => {
if (err) throw err;
console.log('a ディレクトリを削除しました');
});