|
|
Δημοσιεύτηκε στις 22/10/2018 5:21:45 μ.μ.
|
|
|

Στο πρότυπο ECMAscrip{filtering}t 2015, το Javascrip{filtering}t προσθέτει την έννοια των ενοτήτων. Το Typescrip{filter}t ακολουθεί επίσης αυτήν την έννοια.
1. Εισαγωγή και εξαγωγή μονάδων
Οι ενότητες εκτελούνται στο δικό τους πεδίο εφαρμογής, όχι στο παγκόσμιο πεδίο. Αυτό σημαίνει ότι οι μεταβλητές, οι συναρτήσεις, οι κ.λπ. που ορίζονται σε μια λειτουργική μονάδα δεν είναι ορατές εκτός της λειτουργικής μονάδας, εκτός εάν τις εξάγετε ρητά χρησιμοποιώντας μία από τις εξαγωγές. Από την άλλη, εάν θέλετε να χρησιμοποιήσετε μεταβλητές, συναρτήσεις,, διεπαφές κ.λπ. που εξάγονται από άλλες ενότητες, πρέπει να τις εισαγάγετε, χρησιμοποιώντας μία από τις εισαγωγές.
Οι ενότητες είναι αυτοδηλούμενες. Στο Typescrip{filter}t, η σχέση μεταξύ των δύο λειτουργικών μονάδων δημιουργείται χρησιμοποιώντας εισαγωγή και εξαγωγή σε επίπεδο αρχείου. Ακολουθεί ένα βασικό παράδειγμα:
animal.ts
app.ts
Στο παραπάνω παράδειγμα, ένα Animal-like δηλώνεται στο animal.ts και εξάγεται μέσω εξαγωγής. Στο app.ts, καθορίστε τη σχετική διαδρομή αρχείου και εισαγάγετέ την μέσω εισαγωγής για να χρησιμοποιήσετε την κλάση Animal.
Επειδή το Javascrip{filter}t έχει δύο διαφορετικές μεθόδους αναφοράς λειτουργικών μονάδων, κατά τη μεταγλώττιση στο Javascrip{filter}t, μπορείτε να καθορίσετε τη μεταγλωττισμένη μέθοδο αναφοράς λειτουργικών μονάδων μέσω του αρχείου ρυθμίσεων Typescrip{filtering}t tsconfig.json
Τα ακόλουθα είναι τα περιεχόμενα του αρχείου Javascrip{filter}t που έχει μεταγλωττιστεί με διαφορετικούς τρόπους
CommonJS
ΑΜΔ
2. Μετονομασία εισαγωγής και εξαγωγής
Το όνομα του εσωτερικού αντικειμένου που χρησιμοποιείται από προεπιλογή κατά την εισαγωγή και εξαγωγή λειτουργικών μονάδων. Το Typescrip{filter}t υποστηρίζει επίσης τη μετονομασία πριν και μετά την εξαγωγή. Τροποποιήστε το παραπάνω παράδειγμα
animal.ts
app.ts
Κατά την εισαγωγή και εξαγωγή, οι λειτουργικές μονάδες μετονομάζονται χρησιμοποιώντας τη λέξη-κλειδί as.
Ένα πράγμα που πρέπει να σημειωθεί εδώ είναι ότι όταν η εξαγόμενη λειτουργική μονάδα μετονομάζεται, το όνομα της λειτουργικής μονάδας πριν από την εισαγωγή θα πρέπει να είναι το ίδιο με το εξαγόμενο μετονομασμένο όνομα της λειτουργικής μονάδας, διαφορετικά ο μεταγλωττιστής θα εμφανίσει ένα μήνυμα σφάλματος. Για παράδειγμα, εάν η εξαγόμενη λειτουργική μονάδα μετονομαστεί σε ANI, το όνομα της λειτουργικής μονάδας πριν από τη λέξη-κλειδί as πρέπει να είναι ANI κατά την εισαγωγή αυτής της λειτουργικής μονάδας σε άλλο αρχείο app.ts.
Εναλλακτικά, εάν δεν γνωρίζετε το όνομα της εισαγόμενης μονάδας, μπορείτε να την αντικαταστήσετε με ένα σύμβολο *
Στο παραπάνω παράδειγμα, εάν μετονομάσετε όλες τις λειτουργικές μονάδες που αντικαταστάθηκαν από το σύμβολο * σε animal_module, μπορείτε να αποκτήσετε πρόσβαση σε όλο το περιεχόμενο που εξάγεται από τη λειτουργική μονάδα μέσω animal_module αντικειμένου.
3. Εξαγωγή και εξαγωγή πολλαπλών αντικειμένων
Κανονικά, πολλοί τύποι αντικειμένων ορίζονται στη μονάδα και στη συνέχεια εξάγονται μαζί. Μπορεί επίσης να υπάρχουν πολλές λειτουργικές μονάδες στην εισαγωγή
animal.ts
app.ts
Κατά την εξαγωγή, μπορείτε να συναρμολογήσετε ξανά το αντικείμενο κειμένου που θέλετε να εξαγάγετε σε ένα αντικείμενο JSON και στη συνέχεια να το εξαγάγετε. Μόλις εισαχθούν, τα περιεχόμενα μπορούν να προσπελαστούν μέσω μετονομασμένων αντικειμένων μονάδας.
4. Προεπιλεγμένη εξαγωγή
Μπορεί να υπάρχει μόνο μία προεπιλεγμένη εξαγωγή για ένα άρθρωμα
animal.ts
app.ts
Στο παραπάνω παράδειγμα, η κλάση Animal εξάγεται χρησιμοποιώντας την προεπιλεγμένη λέξη-κλειδί. Σε αντίθεση με τις κανονικές εισαγωγές, κατά την εισαγωγή προεπιλεγμένων λειτουργικών μονάδων εξαγωγής, μπορείτε να καθορίσετε απευθείας το όνομα της εισαγόμενης λειτουργικής μονάδας χωρίς να την περικλείσετε σε σγουρά άγκιστρα με {}.
5. Μονάδα δυναμικής φόρτωσης
Επειδή στο Javascrip{filter}t, υπάρχουν δύο τρόποι φόρτωσης λειτουργικών μονάδων: CommonJS και AMD. Όταν χρησιμοποιείτε το Typescrip{filter}t, πρέπει να γράψετε διαφορετικό κώδικα ανάλογα με το περιεχόμενο διαμόρφωσης της τελικής μεταγλώττισης για να δημιουργήσετε το Javascrip{filter}t.
Αρχείο ενότητας animal.ts
Αναφορά τρόπου CommonJS:
app.ts
Απόσπασμα τρόπου AMD:
app.ts
|
Προηγούμενος:Εργαλείο αρπαγής κωδικού ενεργοποίησης BonusCloud [με πηγαίο κώδικα]Επόμενος:Αναφορά νεοφερμένου, πώς το πήρε η MB;
|