指定されたディレクトリにあるプレーンhtml、css、およびjavascriptを提供するだけの静的node.jsサーバーの作成に取り組んでいます。サーバーにすべてのサブディレクトリを読み取らせ、URLを指定したファイルにルーティングさせようとしています。ただし、ルート ディレクトリのみを読み取ります。
var fs = require('fs');
var array = fs.readdirSync(__dirname);
function getAllSub(array){
for (i = 0; i < array.length; i++){
if (array[i].indexOf(".") == (-1))
{
array = array.concat(array[i] + "/" + fs.readdirSync(__dirname + "/" + array[i]));
}
if (array[i].indexOf("/") != (-1)){
var foldcon = array[i].substr(array[i].indexOf("/") + 1);
var folder = array[i].substr(0, array[i].indexOf("/"));
foldcon = foldcon.split(",");
for (n = 0; n < foldcon.length; n++){
foldcon[n] = folder + "/" + foldcon[n]
if (foldcon[n].indexOf(".") == (-1)){
console.log([foldcon[n]]);
foldcon[n] = getAllSub([foldcon[n]]);
}
}
array.splice(i, 1, foldcon);
}
}
return array;
}
array = getAllSub(array);
console.log(array);
現在、このコードはディレクトリを読み取り、ファイルの配列内の項目がフォルダーであるかどうかを認識しますが、サブディレクトリから配列にファイルを適切に追加しません。今のところ、それはすべて無限再帰に陥っており、それを止める方法が本当にわかりません。これは私が実際に使用することを意図したものではなく、node.js の基本を紹介するために取り組むのに良いプロジェクトだと思っただけです。
編集済み^