TypeScript está diseñado para proyectos JavaScripty a gran escala que generalmente consisten en varios archivos producidos internamente junto con bibliotecas producidas externamente. ¿Cómo espera el compilador de TypeScript (tsc) que le proporcione el conjunto completo de archivos que componen un proyecto?¿Cómo puedo pasar múltiples archivos fuente al compilador de TypeScript?
Respuesta
TSC puede compilar múltiples fuentes en secuencia si acaba de dar los nombres en orden:
tsc foo.ts bar.ts
También se puede pasar un archivo de texto que contiene una lista de archivos y los argumentos de línea de comandos desde un archivo de texto con el @
argumento de línea de comando.
tsc @compile.txt
y la compile.txt
podría tener este aspecto:
--module amd
foo.ts
bar.ts
También tenga en cuenta que si en las referencias de archivos otra a través de un import
, tsc
le calculará automáticamente que fuera sin tener que enumerar explícitamente la archivo de lo que depende.
Al compilar un único archivo, el mecanografiado arrojará el código generado de otros archivos referenciados. Al pasar todos los archivos al compilador, no hace esto. (¿Existe un argumento de línea de comando para evitar que incluya referencias al compilar un solo archivo?) –
En realidad, solo incluye código de referencia cuando se utiliza el parámetro --out. Entonces, ¿hay alguna manera de cambiar el nombre del archivo de salida sin cambiar el comportamiento? –
¿Podemos obtener un nombre de archivo diferente como archivo de salida de entrada después de la compilación? En caso afirmativo, ¿cómo sugiere algún método? Quiero convertir archivos .ts a .js. –
dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt
Esto compilará todos *.ts
archivos en el directorio de trabajo y sus subdirectorios. Si no desea incluir directorios secundarios, simplemente elimine la parte /s
de la primera línea.
Tenga en cuenta que también puede agregar otros argumentos a la línea tsc
. Esto es lo que estoy usando ahora para uno de mis proyectos:
tsc @ts-files.txt --out ..\output/deerchao.web.js --removeComments
Probé esto y no pude hacerlo funcionar. ¿Algunas ideas? https://stackoverflow.com/questions/25199866/error-when-compiling-multiple-typescript-files – homaxto
Funciona bien. Ejecuto esa solución y tuve el siguiente problema: "error TS5037: no se pueden compilar módulos externos a menos que se proporcione el indicador '--module'". Eso se solucionó fácilmente al agregar el módulo de esta manera: tsc @ ts-files.txt --module "commonjs" – Aebsubis
En caso de que alguien necesita esto para 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 mecanografiado 1.5 (beta pero la versión final debería estar allí pronto), puede crear un archivo tsconfig.json para configurar el compilador de TypeScript y los archivos para compilar (entre otras cosas). Véase mi respuesta por allí: How to watch and compile all TypeScript sources?
O simplemente:
find ./my/path/ -name \"*.ts\" -type f | tsc
Si alguien necesita varios archivos pretranspiled antes de la compilación real del proyecto, utilice un TSconfig separada con la opción de compilador --project.
Recopila un proyecto con un archivo de configuración válido. El argumento puede ser ser una ruta de archivo a un archivo de configuración JSON válido, o una ruta de directorio a un directorio que contiene un archivo tsconfig.json. Consulte la documentación de tsconfig.json para obtener más detalles.
Un caso de uso sería la necesidad de los archivos JS resultantes utilizados posteriormente en argumentos de línea de comandos para scripts de aplicaciones iónicas.
arroja 'error TS5042: La opción 'proyecto' no se puede mezclar con archivos fuente en una línea de comando. intente utilizar la opción --project o -p cuando especifique los archivos para compilar. – vikas
- 1. orden de compilador F # de archivos fuente
- 2. ¿Puedo pasar argumentos (propiedades de enlace diferidas) al compilador GWT?
- 3. ¿Cómo puedo anotar tipos recursivos en TypeScript?
- 4. marco compilador-Fuente-fuente quería
- 5. ¿Cómo establecer múltiples estilos de fuente al crear una instancia de una fuente?
- 6. Utilice el compilador de TypeScript desde el nodo
- 7. Cómo incluir varios archivos fuente en C#
- 8. Opciones de Visual Studio TypeScript
- 9. ¿Qué archivos deberían pasar al control de código fuente en un proyecto de Flex Builder?
- 10. ¿Cómo pasar múltiples bloques al método en ruby?
- 11. ¿Cómo puedo comparar múltiples archivos .resx?
- 12. Múltiples archivos fuente en C- ¿Cómo funcionan exactamente los makefiles?
- 13. ¿Qué archivos de proyectos de NetBeans deberían pasar al control de código fuente?
- 14. OpenLayers y TypeScript?
- 15. ¿Cómo puedo pasar archivos de args para ceder en Ruby?
- 16. ¿Cómo pasar múltiples parámetros al trabajo cron con curl?
- 17. cómo pasar una lista de archivos al método python open()
- 18. En Clojure, ¿cómo puedo pasar múltiples argumentos a un defmethod?
- 19. ¿Cómo puedo pasar múltiples atributos a find_or_create_by en Rails 3?
- 20. Pasar archivos grandes al servicio WCF
- 21. Espacio de nombres de módulo de TypeScript en varios archivos
- 22. ¿cómo puedo copiar archivos al sistema de archivos de android?
- 23. Cómo pasar múltiples extensiones de archivo a TDirectory.GetFiles?
- 24. ¿Cómo puedo pasar la cadena de consulta al enrutamiento backbone.js?
- 25. ¿Cómo puedo pasar datos de un AuthorizeAttribute al controlador?
- 26. jQuery, ¿cómo puedo pasar args al controlador de eventos?
- 27. Cómo clases anónimas en TypeScript
- 28. ¿Cómo puedo importar un archivo externo con TypeScript?
- 29. ¿Cómo pasar múltiples params en lote?
- 30. Agregando lote marcador "-fno-objc-arc" a (múltiples) archivos fuente
Todavía no puedo responder mi propia pregunta, así que para ponerme al día, hay al menos dos formas en que TSC puede tener conocimiento de las referencias: 1. Agregue un comentario triple-slash que contenga un elemento de referencia al arriba de a.ts archivo fuente de la siguiente manera: referencia /// < path = "node.d.ts"/> 2. pasar la opción "--reference" en la línea de comando como este: TSC --reference nodo .d.ts server.ts – CCoder
Una aplicación que escribí On the Fly, en http://onthefly.codeplex.com/ le permite pasar cualquier cantidad de archivos al compilador de TypeScript, y puede compilar/compilar todos estos archivos a la vez, con solo un clic de un botón. No estoy "publicitando" o "trolling" simplemente dejando que la mayor cantidad de gente sepa que existe una pequeña aplicación que ayuda a aliviar el dolor, ya que la compilación automática con TypeScript ha demostrado ser problemática para muchos. – Arrow