TSC --module πάντα παράγει το ίδιο αποτέλεσμα δεν έχει σημασία το επιχείρημα

ψήφοι
1

Είμαι αρκετά νέος για να Javascript, NodeJS και --obviously-- γραφομηχανή. Θα ήθελα να πειραματιστείτε με τις υπηρεσίες compiler σε src/services(Windows) για να παρέχει intellisense, κλπ για έναν επεξεργαστή κειμένου.

Σε ό, τι μπορώ να πω, θα πρέπει να είναι σε θέση να requireτον κώδικα υπηρεσίες γραφομηχανή σε ένα διακομιστή NodeJS και να επικοινωνούν με ότι από τον επεξεργαστή. Δεν μπόρεσα να βρω κανένα NodeJS ειδικές υπηρεσίες γραφομηχανή κώδικα, έτσι νομίζω ότι θα έπρεπε να καταρτίσει τον κώδικα υπηρεσίες --module amdώστε να είναι στη διάθεση NodeJS μέσω RequireJS.

Αν τα παραπάνω είναι σωστά, οι προσπάθειες μου για να καταρτίσει τον κώδικα υπηρεσίες με --module amdαπόδοση ακριβώς τα ίδια αποτελέσματα με τη χρήση του είδους προεπιλεγμένη μονάδα (βλέπε παρακάτω).

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
Δημοσιεύθηκε 02/10/2012 στις 21:40
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
2

Αυτό είναι ομολογουμένως προκαλεί σύγχυση, αλλά ο κώδικας σε languageService.ts δεν είναι σε «ενότητα» με την έννοια του ορισμού της AMD / RequireJS της «ενότητας».

Η spec αναφέρεται σε πράγματα μέσα σε ένα moduleμπλοκ ως «εσωτερικές μονάδες». Αυτό είναι αυτό που βλέπετε στην languageService.ts. Μπορείτε να σκεφτείτε τους περισσότερο σαν δοχεία ή σε μονήρεις κυήσεις που εκθέτουν ένα όνομα ανωτάτου επιπέδου (κοιτάζοντας τον κώδικα gen για μια απλή εσωτερική μονάδα διευκρινίζει αυτό το αρκετά). Μπορείτε να καταναλώνουν αυτά τα όπως τα κανονικά αντικείμενα υψηλού επιπέδου, χωρίς καμία λειτουργική μονάδα σε όλα.

Παραγωγή εξωτερικές μονάδες (όπως ονομάστηκε από το spec) για requireπραγματοποιείται με την τοποθέτηση της exportοδηγίας σχετικά με δήλωση ανώτερου επιπέδου σε ένα αρχείο .ts (βλ spec ενότητα 9.2.1). Υπάρχουν μερικά δείγματα (π.χ. λειτουργία του πίνακα) διαθέσιμο για download που το κάνετε αυτό, αν σας ενδιαφέρει.

Απαντήθηκε 02/10/2012 στις 22:14
πηγή χρήστη

ψήφοι
1

Θα πρέπει να έχετε μονάδες σας ορίζεται ως export module, δεν σας moduleκαι στη συνέχεια να συγκεντρώσει το με --m amdή --module amd.

Μου πήρε λίγες ώρες να συνειδητοποιήσει :)

Απαντήθηκε 26/09/2013 στις 20:36
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more