【初心者向け】Node.jsでディレクトリを作成する方法3選

2024-04-02

Node.jsでディレクトリが存在しない場合は作成する方法

fs.mkdir() は、ディレクトリを作成する最も基本的な方法です。以下のコードのように、dir という名前のディレクトリを作成します。

const fs = require('fs');

fs.mkdir('dir', (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('ディレクトリを作成しました');
});

fs.mkdir() は、ディレクトリが存在する場合はエラーが発生します。

const fs = require('fs');

try {
  fs.mkdirSync('dir');
  console.log('ディレクトリを作成しました');
} catch (err) {
  console.error(err);
}

fs.exists() と fs.mkdir() を組み合わせて使う

fs.exists() を使ってディレクトリが存在するかどうかを確認してから、fs.mkdir() を使ってディレクトリを作成することができます。以下のコードのように、dir という名前のディレクトリが存在しない場合は作成します。

const fs = require('fs');

fs.exists('dir', (exists) => {
  if (!exists) {
    fs.mkdir('dir', (err) => {
      if (err) {
        console.error(err);
        return;
      }
      console.log('ディレクトリを作成しました');
    });
  } else {
    console.log('ディレクトリはすでに存在します');
  }
});

mkdirp モジュールは、ディレクトリ階層を再帰的に作成することができます。以下のコードのように、dir/subdir という名前のディレクトリ階層を作成します。

const mkdirp = require('mkdirp');

mkdirp('dir/subdir', (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('ディレクトリ階層を作成しました');
});

fs-extra モジュールは、fs モジュールの機能を拡張したモジュールです。fs-extra モジュールの mkdirs() メソッドを使って、ディレクトリ階層を再帰的に作成することができます。以下のコードのように、dir/subdir という名前のディレクトリ階層を作成します。

const fs = require('fs-extra');

fs.mkdirs('dir/subdir', (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('ディレクトリ階層を作成しました');
});

これらの方法の中から、自分の目的に合った方法を選択して使用してください。




const fs = require('fs');

// ディレクトリを作成
fs.mkdir('dir', (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('ディレクトリを作成しました');
});

このコードを実行すると、dir という名前のディレクトリが作成されます。

  • ディレクトリを作成する前に、ディレクトリが存在するかどうかを確認したい場合は、fs.exists() メソッドを使用できます。
  • ディレクトリ階層を再帰的に作成したい場合は、mkdirp モジュールまたは fs-extra モジュールの mkdirs() メソッドを使用できます。



ディレクトリを作成するその他の方法

child_process モジュールを使って、mkdir コマンドを実行することができます。以下のコードのように、dir という名前のディレクトリを作成します。

const { exec } = require('child_process');

exec('mkdir dir', (err, stdout, stderr) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('ディレクトリを作成しました');
});
const shell = require('shelljs');

shell.mkdir('dir');
console.log('ディレクトリを作成しました');

これらの方法はいずれも、上記で紹介した方法よりも複雑です。ただし、より柔軟な方法でディレクトリを作成することができます。

Node.jsでディレクトリを作成するには、いくつかの方法があります。自分の目的に合った方法を選択して使用してください。


node.js


バッククォート、連結オペレータ、heredoc... Node.jsで複数行文字列を操る完全ガイド

バッククォート(`)を使うバッククォートは、ES6で導入されたテンプレートリテラルと呼ばれる機能の一部です。 複数行の文字列を記述する際に、変数埋め込みや改行を含む文字列を扱いやすくする利点があります。連結オペレータ(+)を使って、複数の文字列リテラルを連結することで、複数行の文字列を作成できます。 ただし、改行を含めるにはエスケープシーケンス(\n)が必要となります。...


システム管理者のためのLinux起動時スクリプト:node.jsとinit.d

Linuxでは、いくつかの方法で起動時にシェルスクリプトを実行できます。方法/etc/init. d/ ディレクトリを使用する 伝統的な方法です。 すべてのディストリビューションで動作します。 手順 スクリプトに実行権限を与えます。...


Node.js と Express を使って JSON を返す:初心者向けチュートリアル

このチュートリアルでは、Node. js と Express を使用して JSON を返す適切な方法について説明します。以下のものが必要です。Node. js がインストールされていることJSON を返すには、以下の手順が必要です。Express アプリを作成する...


package.json の dependencies と devDependencies の違い

Node. js プロジェクトで npm install を実行しても devDependencies がインストールされない場合があり、開発環境で必要な依存関係が不足して問題が発生する可能性があります。原因npm install はデフォルトで dependencies に記載されているパッケージのみをインストールします。devDependencies は開発環境でのみ使用されるパッケージを指定するため、別途インストールする必要があります。...


TypeScriptのインストールと実行:Node.js、npm、ts-nodeのチュートリアル

このチュートリアルでは、Node. js、TypeScript、npmを使ってTypeScriptをローカル環境にインストールし、実行する方法を説明します。前提条件このチュートリアルを始める前に、以下の環境が整っていることを確認してください。...


SQL SQL SQL SQL Amazon で見る



Node.js REPL で __dirname が定義されない理由

__dirname は、現在実行中のスクリプトのファイルパスを含む変数です。これはモジュールスコープの変数であり、モジュール内で使用されます。REPL は、Read-Eval-Print-Loop の略で、Node. js の対話型インターフェースです。REPL では、JavaScript のコードを一行ずつ入力して実行することができます。


Node.jsでスマートなファイル作成:存在すれば更新、なければ新規作成

ファイルが存在しない場合にのみファイルを生成するには、以下の2つの方法があります。まず、fs. exists() 関数を使用して、ファイルが存在するかどうかを確認します。ファイルが存在しない場合は、fs. writeFile() 関数を使用して新しいファイルを作成します。


Node.jsでフォルダを作成・使用する基本

新しいフォルダを作成するには、fs. mkdir() 関数を使用します。この関数は、作成するフォルダのパスと、オプションでアクセス権を指定する必要があります。上記のコードは、my-new-folder という名前の新しいフォルダを作成します。recursive: true オプションを指定すると、親フォルダが存在しない場合は自動的に作成されます。