אני נאבק בדרך להשיג סיומת של Google Chrome שמסוגלת לרשום את כל המשתמשים בספרייה על ידי טעינה אוטומטית והצגת קבצים בספרייה זו. הוא משתמש ב- JavaScript טהור עם מבנה קל להבנה, אז הנה דרך מהירה וקלה להשיג את הקבצים והספריות האחרונים מ- Nodejs.
בדוגמה זו
אנו סורקים את ספריית myFolder עם פונקציית Scandir ומדפיסים את כל הספריות והקבצים בספרייה זו הנקראת Directory. אנו מעבירים את הדוגמה מספרייה המכנה עצמה מדריך 1 כדי לשנות את שמו לספרייה 2, ומפרט את כל הקבצים בספרייה זו ואת כל הספריות בה.
נוכחותו של קובץ jsconfig _ json בספריה זו מעידה על כך שהספריה נמצאת בבסיס פרויקט JavaScript. נוכחותם של קובץ וספריה זו מציינת שהם ממוקמים באזור הבסיס של פרויקט JavaScript שלך.
במידת האפשר
עליך לא לכלול קבצי JavaScript שאינם חלק מקוד המקור של הפרויקט שלך. אם יש לך תיקיית בדיקה בספריית src שלך, כנראה שיש לך את תיקיית src הרלוונטית לקבצי ה- JS שלך, אך כנראה שאתה מתגעגע לחלק מהם. תיקיה זו היא ספריית JavaScript המשתמשת במשתנים המוצהרים ב- var ברמה העליונה ומיוצאים כגלובלים.
זה קורא את הספריה ומנסה לטעון קובץ בשם אינדקס
אך לא מוצא את הארגומנט של שורת הפקודה שניתן לסקריפט. זה עובד על הנתיב האמיתי של מערכת הקבצים, ולא דרך מחרוזת url, וניתן לקרוא אותו כנדרש _ הנתיב, שמתייחס לספריה. השג _ ספרייה _ מקובץ _ נתיב () או url _ URL (), עם זאת, אם קובץ הפלט חייב להיות ממוקם בספריה ספציפית, עליו להיות בספריית הפלט הזו. מאפיין הקובץ של רכיב HTML מחזיר סוג אובייקט, אז בואו ניגש לרשימת הקבצים שנבחרו עבור אותו רכיב כסוג אובייקט.
שתי הנקודות מייצגות את המיקום הנוכחי של הספרייה
וברירת המחדל שם היא גיליון הסגנונות. ספריית המשנה אינה נתיב ספציפי לנכס, אך עשינו מעבר מרמה אחת של מבנה התיקיה למשנהו. אם הדף חי בספריה שונה מזו שחיפשנו, אנו משתמשים בקידומת הנתיב כדי לציין את החיים.
המשתנה getAllFiles מכיל פונקציה רקורסיבית העוברת בספריית המשנה ומחזירה מערך של שמות קבצים
לשם הספריה יש סיומת, וכאשר קוראים לה, הפונקציה נותנת לנו את הספריה לפתיחה. ספריה זו היא רשימה של כל הקבצים במערכת הקבצים, ולא ספריה עם שם ספציפי.
שיטה זו פועלת בצורה אסינכרונית לקריאת תוכן של ספרייה מסוימת ומחזירה מערך עם שמות כל הקבצים בספרייה
למעט אלה המוזכרים בספרייה זו. גודל מערך רשימת שמות הנתונים מוגדר עם מספר הקבצים והספריות הדרושים. שיטה זו מחזירה אמת אם nsiscriptableio getFiles מחזיר אובייקט קובץ, ושקר אם לא.
עכשיו אנו יוצרים פונקציה שלוקחת נתיב ספריה
מבצעת את הפונקציה getAllFiles שיצרנו קודם, נעביר את כל האלמנטים במערך וממזג את גדלי הקבצים. עם פונקציה זו, הדבר הראשון שעלינו לעשות הוא לקבל מערך של נתיבי קבצים שיצרנו בעזרת הפונקציה get allFiles () בחלק האחרון.
שיטה זו מחזירה מערך של שמות נתיבים לכל הקבצים בספרייה, שמצוין בשם הנתיב המופשט של כל ספריה.
השיטה היחסית של נתיב מחזירה נתיב יחסי על סמך ספריית העבודה הנוכחית
אם לא עובר קטע נתיב, הנתיב שנפתר מחזיר את הנתיב המוחלט לספריית CurrentWorkingDirectory. השיטה path _ dirname מחזירה את הנתיב ומחזירה מערך של שמות הנתיבים של כל הקבצים בספרייה, עם שם הנתיב המופשט של כל קובץ בספרייה זו ושם הקובץ של הקובץ. שיטת dirname () של Path ממירה רשימה של כל הנתיבים לכל שמות הקבצים בספריה עם שם נתיב מופשט.
עלינו להעביר את נתיב הספריה כארגומנט הראשון
ופונקציית ההתקשרות יכולה להיות הטיעון השני. אנו זקוקים לפונקציית Javascript כדי לתת לנו את ערך שם הקובץ, ולכן עלינו לציין אותה כחלק האחרון של כתובת האתר שלנו עם קו נטוי אחרון. קבל את שמות הקבצים מכתובת האתר באמצעות Javascript (BeFused), אך ניתן לקרוא להם רק כאשר אנו מעבירים את שם הקובץ של כל הקבצים בספרייה זו או את שם הנתיב לספריית העבודה הנוכחית. קבל את שם הקובץ מכתובת אתר (עם Javascript) וניתן לבצע אותו ללא שימוש בפונקציות החזרה למעט פרט להתקשרות חוזרת.