Πώς μπορώ να προσθέσω γραφομηχανή σε ένα υπάρχον έργο Asp.Net MVC;

ψήφοι
41

Αγαπώ την ιδέα πίσω από γραφομηχανή, αλλά δεν φαίνεται να καταλάβω πώς να το συμπεριλάβει σε ένα έργο ASP.Net MVC. Έχω ήδη εγκαταστήσει την επέκταση του Visual Studio, αλλά δεν μπορώ να βρώ ένα παράδειγμα ή έγγραφα σχετικά με τον τρόπο για να προσθέσετε *.tsτα αρχεία που συγκεντρώνει σε *.jsαρχεία.

Επεξεργασία: Στην πραγματικότητα, θα πρέπει να αναπαράγουν τον τρόπο ότι το παράδειγμα Win8 .jsprojπεριλαμβάνει και διαχειρίζεται .tsτα αρχεία; Ή ότι θα λειτουργήσει μόνο για τα έργα HTML / JS Win8;

Δημοσιεύθηκε 01/10/2012 στις 21:22
πηγή χρήστη
Σε άλλες γλώσσες...                            


6 απαντήσεις

ψήφοι
24

Προειδοποίηση: Αυτή η απάντηση είναι τώρα αρκετά ημερομηνία, καθώς και οι δύο γραφομηχανή και MVC έχει αλλάξει σημαντικά από αυτήν την απάντηση. Θα προσπαθήσω μια ενημέρωση αργότερα. - Richcoder

Χάρη στην Sohnee για την απάντηση.

Μπορείτε να προσθέσετε αρχεία γραφομηχανή σε ένα υπάρχον έργο χρησιμοποιώντας το Add> Νέα διαλόγου Στοιχείο. exampleImage Παρακαλείστε να σημειώσετε ότι το στοιχείο «γραφομηχανή Αρχείο» δεν κατοικεί στο πλαίσιο της ομάδας στο Web, αλλά κάτω από αυτό είναι γονέας σε αυτή την περίπτωση Visual C #.

Αυτό θα πρέπει να προσθέσετε ένα αρχείο γραφομηχανή και το Visual Studio θα κάνει τα υπόλοιπα.

Στη συνέχεια, θα πρέπει να προσθέσετε αυτές τις γραμμές στο αρχείο του έργου:

 <ItemGroup>
    <AvailableItemName Include="TypeScriptCompile" />
 </ItemGroup>
 <ItemGroup>
    <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
 </ItemGroup>
 <Target Name="BeforeBuild">
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" IgnoreExitCode="true" />
 </Target>

Δούλεψε τέλεια για μένα, αλλά σας παρακαλώ να σχολιάσει αν αντιμετωπίσετε τυχόν προβλήματα.

Απαντήθηκε 03/10/2012 στις 00:38
πηγή χρήστη

ψήφοι
19

Αυτό είναι σωστό. το μόνο που χρειάζεστε είναι το ms οικοδομήσουμε στόχο να χτίσει τα αρχεία .ts σε αρχεία .js. Το παράδειγμα Win8 δείχνει ένα στόχο beforeBuild να καλέσει TSC σε όλα τα αρχεία που ανήκουν σε itemGroup TypeScriptCompile, η οποία ορίζεται ως $ (ProjectDir) ***. Ts (ή όλα τα .ts αρχεία στο έργο σας).

Αναπαράγει αυτό το μοτίβο θα πρέπει να εργάζονται σε οποιοδήποτε έργο MSBuild, και όχι μόνο τα έργα Win8.

Εδώ είναι ένα δείγμα του τι εννοώ: Προσθέστε αυτό σε κάθε έργο MSBuild, και θα πρέπει να την κατάρτιση κάθε .ts αρχείο στον φάκελο του equivialnt .js κατά την έναρξη κατασκευής σας ..

<ItemGroup> 
   <TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>


<Target Name="TypeScriptCompile" BeforeTargets="Build">
   <Message Text="Compiling TypeScript files" />
   <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>
Απαντήθηκε 01/10/2012 στις 23:14
πηγή χρήστη

ψήφοι
7

Έριξα ένα πακέτο nuget που προσθέτει ένα αρχείο στόχους MSBuild στο έργο σας. Θα τρέξει τον compiler TSC και να καθαρίσει την παραγωγή της, ώστε να μπορείτε να κάνετε διπλό κλικ για τα λάθη στο Visual Studio και το άλμα στο αρχείο / γραμμή / στήλη.

https://www.nuget.org/packages/Sholo.TypeScript.Build

Θα πρέπει να ορίσετε το Σώμα δράσης στον ακίνητα παράθυρο για να «TypeScriptCompile» για οτιδήποτε θέλετε TSC για την κατάρτιση. Από λίγες μέρες χάνουμε με γραφομηχανή, έχω διαπιστώσει ότι τα αρχεία .ts που κάνει την αναφορά θα πρέπει να οριστεί σε TypeScriptCompile, αλλά τα αρχεία που αναφέρονται μόνο δεν θα έπρεπε, αλλά ymmv. Επίσης, μπορεί να χρειαστεί να εμφανίζουν όλα τα αρχεία και να προσθέσετε το αρχικό αρχείο .js. Αν θέλετε να σχετίζονται με την ομάδα .ts / .js / .d.ts αρχεία μαζί, ρίξτε μια ματιά στην επέκταση VsCommands. Workflow είναι επίσης πολύ ωραίο με NetDemon / παρόμοιες επεκτάσεις.

Απαντήθηκε 04/10/2012 στις 01:55
πηγή χρήστη

ψήφοι
4

Εάν χρησιμοποιείτε ομαδική πώληση και η σμίκρυνση , που μόλις κυκλοφόρησε μια εφαρμογή της IBundleTransform που συγκεντρώνει γραφομηχανή σε Javascript. Είναι στο GitHub και NuGet (Εγκατάσταση-πακέτο TypeScriptBundleTransform). Εάν δεν χρησιμοποιούν ακόμη ομαδική πώληση και η σμίκρυνση, αξίζει μια ματιά!

Απαντήθηκε 07/10/2012 στις 23:51
πηγή χρήστη

ψήφοι
3

εκσυγχρονίζω:

Απλά εγκαταστήστε Essentials Web 2012 plugin, θα έχετε την αυτόματη συλλογή για να σώσει - και για τις δύο .js και .min.js και τακτοποιημένο διάσταση απόψεων για να δείτε το αποτέλεσμα το JavaScript δίπλα από τον κωδικό γραφομηχανή σας.


Αυτό είναι ένα ακατέργαστο μέθοδος που έχω χρησιμοποιήσει:

Κάντε δεξί κλικ έργο σας> Ιδιότητες> Δημιουργία Εκδηλώσεις

κουτί prebuild επικολλήσετε αυτό (χτίζει αναδρομικά όλα τα .ts αρχεία του έργου):

forfiles /S /P $(ProjectDir) /m *.ts /c "cmd /c tsc @file"

Για την κατασκευή συγκεκριμένου αρχείου εισόδου:

tsc $(ProjectDir)MyScripts/myfile.ts

Είμαι βέβαιος ότι υπάρχει ένας καλύτερος τρόπος για να γίνει αυτό.

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

ψήφοι
0

Εάν χρησιμοποιείτε το ASP.NET Web-πλαίσιο βελτιστοποίησης της Microsoft (γνωστός και ως ομαδική πώληση και η σμίκρυνση), στη συνέχεια, προσπαθήστε να χρησιμοποιήσετε το Πακέτο μετασχηματιστή με εγκατεστημένη μονάδα BundleTransformer.TypeScript . Εκτός από την κατάρτιση του γραφομηχανή-κώδικα σε JS, μπορείτε επίσης να παράγει σμίκρυνση της παραγόμενης JS-κώδικα με τη χρήση άλλων μονάδων της Bundle Transformer: BundleTransformer.MicrosoftAjax , BundleTransformer.Yui , BundleTransformer.Closure , BundleTransformer.JsMin , BundleTransformer. UglifyJs και BundleTransformer.Packer .

Απαντήθηκε 19/10/2012 στις 17:43
πηγή χρήστη

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