es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La compilación de Typescript con la opción “–watch” es extremadamente lenta cuando se utiliza `declaration: true`.

He estado experimentando con el uso de mapas de declaraciones para mejorar el rendimiento del editor y he descubierto que habilitar declaration: true causa construcciones extremadamente lentas al usar la opción --watch con tsc.

Antes de habilitar declaration: true, los archivos se reconstruían rápidamente al guardar, pero después de habilitar la configuración, me doy cuenta de que la construcción con --watch tarda casi tanto en construir al guardar un archivo como si estuviera construyendo desde cero, incluso si estoy modificando un archivo que no tiene importaciones o archivos que lo importan.

He utilizado la opción -generateTrace para investigar la diferencia entre las dos construcciones y he llegado a la conclusión de que tsc parece estar comprobando y reemitendo archivos d.ts para la mayor parte de mi base de código cada vez que se guarda un archivo, incluso si los archivos no están relacionados con el archivo modificado.

Aquí hay un ejemplo de un rastro de rendimiento antes de habilitar declaration: true:
enter image description here

Y aquí hay uno exactamente igual para el comando de watch, excepto después de habilitar declaration: true:
enter image description here

Entiendo que puedo esperar que el segundo sea un poco más lento debido al archivo d.ts adicional que debe generarse, pero no esperaba que tsc comenzara a recomilar archivos no relacionados también.

¿Existe alguna forma de acelerar esta construcción? Si alguien puede señalar lo que estoy pasando por alto, estaría muy agradecido.

Actualización: Ahora he actualizado mi versión de TypeScript a la última y la construcción es ciertamente un poco más rápida con declaration: true que antes, pero sigue construyendo todos los archivos.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Typescript y declaration: true causando compilaciones lentas con --watch

    Como experto en TI especializado en Typescript y tsc, he experimentado compilaciones lentas con la bandera --watch al usar declaration: true para mejorar el rendimiento del editor. Habilitar esta configuración ha llevado a reconstrucciones más lentas al guardar, incluso si el archivo guardado no tiene importaciones o archivos que lo importen.

    Usando la bandera -generateTrace, descubrí que tsc está comprobando los tipos y reemitienodo los archivos d.ts para la mayoría del código cada vez que se guarda un archivo, incluso si los archivos no están relacionados con el archivo modificado. Esto resulta en compilaciones lentas y anula el propósito de habilitar declaration: true.

    Actualizar a la última versión de Typescript ha mejorado el tiempo de compilación con declaration: true, pero aún se compilan todos los archivos. ¿Hay alguna forma de acelerar el proceso de compilación y evitar la recompilación de archivos no relacionados? Cualquier sugerencia o idea sería muy apreciada.

Comments are closed.