Εισαγωγή στα Σύγχρονα Modules στην JavaScript
Έχετε ήδη εργαστεί με modules μέσω closures. Στη σύγχρονη JavaScript εμφανίστηκαν πιο βολικά modules, που επιτρέπουν τη τοποθέτηση κάθε module σε ξεχωριστό αρχείο, και στη συνέχεια, κατά την ανάγκη, σύνδεση με άλλα αρχεία, εξάγοντας μόνο τις απαραίτητες μεταβλητές και συναρτήσεις.
Αρχικά, τέτοια modules δεν είχαν καθιερωθεί στο πρότυπο της JavaScript και απλά αναπτύσσονταν από την κοινότητα. Κατά συνέπεια, εμφανίστηκαν πάρα πολλά διάφορα module systems: AMD, CommonJS, UMD και άλλα.
Στη συνέχεια, στο πρότυπο της JavaScript εμφανίστηκαν τα δικά της modules. Ονομάζονται ES modules. Λόγω αυτού, τα modules που αναπτύχθηκαν από την κοινότητα απαρχαιώθηκαν ραγδαία και δεν αξίζει να τα χρησιμοποιείτε.
Αξίζει να δώσετε προσοχή μόνο στα modules CommonJS, καθώς αρχικά λειτουργούσαν σε αυτά η NodeJS, και ακόμη και τώρα λειτουργεί σε αυτά από προεπιλογή για λόγους συμβατότητας.
Επιπλέον, συχνά στις οδηγίες σύνδεσης διάφορων βιβλιοθηκών θα συναντήσετε περιγραφή ακριβώς της επιλογής CommonJS, και όχι ES. Επομένως, πρέπει να έχετε μια ιδέα για το πώς να μετατρέψετε τον κώδικα CommonJS σε ES.
Υπάρχει ακόμη μια απόχρωση. Παρόλο που τα modules τώρα έχουν καθιερωθεί στο πρότυπο της JavaScript, απλά έτσι δεν θα λειτουργούν στο πρόγραμμα περιήγησης (ακόμη). Για αυτό πρέπει να χρησιμοποιήσετε ένα από τα δημοφιλή εργαλεία δομής (bundling).