phi

I'm a Game Programmer and Frontend Engineer passionate about programming education. Math / C / C++ / C# / JavaScript / HTML5 / CSS3 / Python

phiaryjust a creator

Node.js でディレクトリかどうかを判定する方法

4 years ago

fs.statSync で判定

fs モジュールの statSync で fs.Stats を取得してディレクトリかどうかを判定.

var fs = require('fs');  
var filepath = 'hoge';

if (fs.statSync(filepath).isDirectory()) {  
  console.log(filepath + ' is directory.'); // hoge is directory.
}

より安全に判定

上の判定方法だとその ファイル or ディレクトリ 自体が存在しなかった場合 エラーになってしまいます.

存在チェックもするとより安全かも

var fs = require('fs');  
var filepath = 'hoge';

if (fs.existsSync(filepath) && fs.statSync(filepath).isDirectory()) {  
  console.log(filepath + ' is directory.'); // hoge is directory.
}

関数化してスマートに

よく使う場合は関数化しておくと便利です.

var fs = require('fs');

var isDir = function(filepath) {  
  return fs.existsSync(filepath) && fs.statSync(filepath).isDirectory();
};

var filepath = 'hoge';  
if (isDir(filepath)) {  
  console.log(filepath + ' is directory.'); // hoge is directory.
}