2013-09-24 27 views
18

ノードアプリケーションでは、その隠しファイル以外のディレクトリ内のすべてのファイルを取得する必要があります。 私はfs.readdirを試しましたが、隠しファイルも表示しています。fs.readdirの結果で隠しファイルを作成する方法

+1

可能重複[Nodejs - 隠しファイルをチェック](http://stackoverflow.com/questions/8905680/nodejs-check-for-hidden-files) –

+1

私が言うにあなたは(またはかもしれません)ループを実行して、「隠された」ファイルを除外します。上記のリンクを確認してください。 – leesei

答えて

2

あなたが使用することができます。

fs.readdir('/path/to/directory', (err, list) => { 
    list = list.filter(item => !(/(^|\/)\.[^\/\.]/g).test(item)); 

    // Your code 
}); 
6

this答えから正規表現を使用して、この単純な解決策は、結果からすべての隠しファイルを削除します。

var fs = require('fs'); 
var junk = require('junk'); 

fs.readdir('path', function (err, files) { 
    console.log(files.filter(junk.not)); 
}); 
0

私は隠しファイルを無視するjunkパッケージを使用します。

fs.readdir('/path/to/directory', function(err, list) { 
    list.forEach(function (filename) { 
    if(! /^\..*/.test(filename)) { 
     // display files 
    } 
    }); 
}); 
+0

ジャンクはすべての隠しファイルをフィルタリングしません。 > ['.DS_StoreとThumbs.dbのようなシステム迷惑ファイルを除外](https://www.npmjs.com/package/junk) – 1252748

+0

@ 1252748はい。正規表現を定義して、必要のないものを隠すことができます。 – Meteor

+0

次に、ジャンクモジュールを使用する理由は何ですか? '/^\./'をフィルタリングするだけです。 'readdir'の結果をフィルタリングするのとまったく同じように、結果をフィルタリングするだけの処理をしないモジュールを使用する理由はありません。 – 1252748

関連する問題