تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ Mahdiabedini
نمایش دایرکتوری و زیر دایرکتوری‌های یک دایرکتوری
جامعه نود جی اس ایجاد شده در ۰۵ آبان ۱۴۰۰

سلام در دقیقه 41 توضیح دادید که این برنامه که نوشتید میاد و  کل دایرکتوری و زیر دایرکتوری موجود هر کدام از دایرکتوری‌ها را هم میاد و زیر مجموعه شون را نشون می‌ده ولی وقتی من برنامه را اجرا کردم فقط دایرکتوری و پوشه‌های موجود در دایرکتوری سطح اول را به من نشون میده و زیر دایرکتوری سطح‌های دیگه را نشون نمیده چرا؟

fs.opendir('./',(err ,dir)=>{
    if (err){
        console.log(err);
        return;
    }
    const readNext =(dir)=>{
        dir.read((err,file)=>{
            if (err){
                console.log(err);
                return;
            }
            // console.log(`file is : ${file}`);
            if(file === null){
                return;
            }
            const type = file.isDirectory()? 'directory' : 'file';
            console.log(type,file.name);
            readNext(dir);
        });
     }
    readNext(dir);
});

 

سلام.

شما آدرس دهیتون روت پروژه بوده و با دستور opendir دایرکتوری رو باز کردید.

حالا هر چندبار متد read رو صدا بزنید بین دایکتوری و فایل‌های داخل روت، next میکنه.
منظورم اینه کدهایی که نوشتید زیرمجموعه ی روت رو لاگ گرفتید.

مثلا این کدو اجرا کنید:

const fs = require('fs');
fs.opendir('./', (err, dir) => {
  console.log(dir.readSync());
  console.log(dir.readSync());
  console.log(dir.readSync());
});

اگر به کدهاتون نگاه بندازید میبینید dir هم در هر فراخوانی تغییر نمیکنه و به مسیر روت اشاره میکنه.

بنابراین اگر میخواهید تایپ‌های دایرکتوری هم فایل‌های درونش لیست بشن باید مسیر باز بشه و درون اون مسیر هم فایل‌ها خونده بشه.

محسن موحد ۰۵ آبان ۱۴۰۰، ۱۶:۳۸

آقای عابدینی مشکل تون با توضیح آقای موحد حل شد؟

مهرداد دادخواه ۰۶ آبان ۱۴۰۰، ۱۲:۲۴