1. ホーム
  2. ジャバスクリプト

[解決済み】Node.js フォルダを作成するか、既存のものを使用するか

2022-04-11 18:25:33

質問

Node.jsのドキュメントを読みましたが、私が何かを見逃していない限り、特定の操作、特に次の操作でパラメータが何を含んでいるかは書かれていません。 fs.mkdir() . ドキュメントを見ればわかるように、とてもじゃないですが

現在、私はこのコードを持っていて、フォルダーを作成するか、代わりに既存のものを使用しようとします。

fs.mkdir(path,function(e){
    if(!e || (e && e.code === 'EEXIST')){
        //do something with contents
    } else {
        //debug
        console.log(e);
    }
});

でも、このやり方でいいのかなあ?コードのチェックは EEXIST フォルダがすでに存在することを知る正しい方法ですか?私は、次のことができることを知っています。 fs.stat() しかし、それはすでにファイルシステムに2つのヒットを与えることになります。

次に、Node.jsの完全な、あるいは少なくともより詳細なドキュメントで、エラーオブジェクトが何を含み、パラメータが何を意味するかなどについての詳細を含むものはありますか。

解決方法は?

良い方法としては mkdirp モジュールを使用します。

$ npm install mkdirp

ディレクトリを必要とする関数を実行するために使用します。コールバックは、パスが作成された後、またはパスが既に存在する場合に呼び出されます。エラー err は、mkdirp がディレクトリパスの作成に失敗した場合に設定されます。

var mkdirp = require('mkdirp');
mkdirp('/tmp/some/path/foo', function(err) { 

    // path exists unless there was an error

});