0
でサブディレクトリから特定のファイルを取得します。私はこのようなファイル構造を有するノードのjs再帰的
でサブディレクトリから特定のファイルを取得します。私はこのようなファイル構造を有するノードのjs再帰的
私はのstyle.cssファイルを取得したい
lib
|->Code
|-> Style
|-> style.css
を次のコードでは、内部の再帰検索を行います./
(適切に変更してください)そして、style.css
で終わる絶対ファイル名の配列を返します。
var fs = require('fs');
var path = require('path');
var searchRecursive = function(dir, pattern) {
// This is where we store pattern matches of all files inside the directory
var results = [];
// Read contents of directory
fs.readdirSync(dir).forEach(function (dirInner) {
// Obtain absolute path
dirInner = path.resolve(dir, dirInner);
// Get stats to determine if path is a directory or a file
var stat = fs.statSync(dirInner);
// If path is a directory, scan it and combine results
if (stat.isDirectory()) {
results = results.concat(searchRecursive(dirInner, pattern));
}
// If path is a file and ends with pattern then push it onto results
if (stat.isFile() && dirInner.endsWith(pattern)) {
results.push(dirInner);
}
});
return results;
};
var files = searchRecursive('./', 'style.css'); // replace dir and pattern
// as you seem fit
console.log(files); // e.g.: ['C:\\You\\Dir\\subdir1\\subdir2\\style.css']
このアプローチは同期的です。
上記のコードの結果として16のディレクトリがあります。16個のstyle.cssファイルがあります.16個の新しいディレクトリを作成し、fs.writeFileを使用して配列の結果を保存します。 – Nikhil
エクスプレスフレームワークを使用している場合は、そのファイルのパスを定義するか、フォルダを静的にしてください – Shubham
詳細情報を入力してください。正確に何を達成しようとしていますか? –
ドキュメントをチェックアウト:https://nodejs.org/dist/latest-v8.x/docs/api/fs.html#fs_fs_readfile_path_options_callback –