TypeScript è progettato per progetti JavaScripty su larga scala che in genere consistono in più file prodotti internamente insieme a librerie prodotte esternamente. In che modo il compilatore TypeScript (tsc) si aspetta di fornirgli il set completo di file che compongono un progetto?Come posso passare più file sorgente al compilatore TypeScript?
risposta
TSC può compilare più sorgenti in sequenza se basta dare i nomi in ordine:
tsc foo.ts bar.ts
È inoltre possibile passare un file di testo contenente un elenco di file e argomenti della riga di comando da un file di testo utilizzando il @
argomento della riga di comando.
tsc @compile.txt
e la compile.txt
potrebbe assomigliare a questo:
--module amd
foo.ts
bar.ts
Si noti inoltre che se da riferimenti ai file un altro tramite un import
, tsc
sarà capire automaticamente senza dover elencare esplicitamente il file da cui dipende.
Durante la compilazione di un singolo file, dattiloscritto genera il codice generato da altri file di riferimento. Passando tutti i file al compilatore, non lo fa. (Esiste un argomento della riga di comando per impedire che includa riferimenti durante la compilazione di un singolo file?) –
In realtà, include solo il codice di riferimento quando si utilizza il parametro --out. Quindi c'è un modo per cambiare il nome file di output senza modificare il comportamento? –
possiamo ottenere un nome file diverso come file di output dall'input dopo la compilazione? se sì, allora, come suggerire qualsiasi metodo Voglio convertire .ts in file .js. –
dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt
Questo compilerà tutti *.ts
i file nella directory di lavoro e le sue sottodirectory. Se non si desidera includere sottodirectory, è sufficiente rimuovere la parte /s
dalla prima riga.
Si noti che è anche possibile aggiungere altri argomenti alla riga tsc
. Ecco quello che sto usando ora uno dei miei progetti:
tsc @ts-files.txt --out ..\output/deerchao.web.js --removeComments
Ho provato questo e non ho potuto farlo funzionare. Qualche idea? https://stackoverflow.com/questions/25199866/error-when-compiling-multiple-typescript-files – homaxto
Funziona bene. Eseguo la soluzione e ho il seguente problema: "errore TS5037: impossibile compilare moduli esterni a meno che non venga fornito il flag" --module "." Questo problema è stato risolto facilmente aggiungendo il modulo in questo modo: tsc @ ts-files.txt --module "commonjs" – Aebsubis
Nel caso in cui qualcuno ha bisogno di questo per Mac OS X:
find . -name "*.ts" -type f >ts-files.txt
/usr/local/bin/tsc @ts-files.txt --module CommonJS --out ./Deploy/ServerMain.js --removeComments
rm ts-files.txt
Con dattiloscritto 1.5 (beta, ma la versione finale dovrebbe essere lì a breve), è possibile creare un file tsconfig.json per configurare il compilatore TypeScript ei file da compilare (tra le altre cose). Vedere la mia risposta laggiù: How to watch and compile all TypeScript sources?
O semplicemente:
find ./my/path/ -name \"*.ts\" -type f | tsc
Se qualcuno ha bisogno di più file pretranspiled prima della compilazione effettiva del progetto, utilizzare un TSconfig separata con l'opzione del compilatore --project.
Compila un progetto con un file di configurazione valido. L'argomento può essere un percorso di file per un file di configurazione JSON valido o un percorso di directory in una directory contenente un file tsconfig.json. Vedere la documentazione di tsconfig.json per ulteriori dettagli.
Un caso di utilizzo sarebbe la necessità dei file JS risultanti utilizzati successivamente negli argomenti della riga di comando per gli script di app ionici.
genera l'errore TS5042: l'opzione 'progetto' non può essere combinata con i file di origine su una riga di comando. prova a usare l'opzione --project o -p quando specifichi i file da compilare. – vikas
- 1. Posso passare argomenti (proprietà di associazione posticipate) al compilatore GWT?
- 2. Il compilatore TypeScript diventa lento?
- 3. Come posso dare al compilatore Intellij più spazio sull'heap?
- 4. Come includere più file sorgente in C#
- 5. Migliore riferimento al file per il typescript
- 6. debugger gdb più file sorgente
- 7. Come passare al codice sorgente MVC4 senza assemblaggio di costruzione
- 8. Come posso ottenere che gulp-typescript venga stampato nella stessa directory del file sorgente?
- 9. Come posso passare più parametri nell'URL?
- 10. Come posso utilizzare il compilatore JDT al livello di programmazione?
- 11. TypeScript: più progetti in soluzione
- 12. Percorso relativo WiX relativo al file sorgente
- 13. In VS Code, come utilizzare il compilatore alpha Typescript 1.5
- 14. TypeScript: Splitting module in più file
- 15. Typescript 0.9 + Knockout: strani errori del compilatore
- 16. Codifica file JS generato da TypeScript
- 17. TypeScript Codice lingua Visual Studio Codice sorgente
- 18. come collaborare al codice sorgente su più postazioni
- 19. Come posso aggiungere una cartella sorgente generata al mio percorso sorgente in Gradle e IntelliJ?
- 20. Come posso aggiungere una cartella sorgente generata al mio percorso sorgente in Gradle?
- 21. Come posso passare più entry_points al trasformatore di polimeri in pubspec.yaml?
- 22. come passare il file di configurazione al file scala jar
- 23. Come posso importare un file esterno con TypeScript?
- 24. Come passare più blocchi al metodo in ruby?
- 25. Utilizzando IMultiValueConverter passare più CommandParameters al ViewModel
- 26. Come posso passare l'espressione lambda al modello C++ come parametro
- 27. Come aggiungere file sorgente e intestazioni esistenti al progetto CLIon
- 28. Passare l'array Javascript al file PHP
- 29. Collegamento del file di script Linker al codice sorgente
- 30. Come posso passare la stringa di query al routing backbone.js
Non è ancora possibile rispondere alla mia domanda, quindi per ottenere il lancio, ci sono almeno due modi in cui TSC può venire a conoscenza dei riferimenti: 1. Aggiungere un commento a tripla barra contenente un elemento di riferimento al cima di a.ts file sorgente in questo modo: /// < riferimento path = "node.d.ts"/> 2. passare l'opzione "--reference" sulla riga di comando come questo: TSC --reference nodo .d.ts server.ts – CCoder
Un'app che ho scritto On the Fly, all'indirizzo http://onthefly.codeplex.com/ consente di passare qualsiasi numero di file al compilatore TypeScript - e si può compilare/compilare tutto questi file in una sola volta, con un semplice clic di un pulsante. Non sto "pubblicizzando" o "trollando" facendo sapere a quante più persone possibile che ci sia una piccola app che aiuta ad alleviare il dolore, dal momento che la compilazione automatica con TypeScript ha dimostrato di essere problematica per molti. – Arrow