Estuve trabajando en un proyecto el año pasado, estaba usando Angular 8. Reanudé el proyecto este año, ahora estoy usando Angular 13 para hacer que el proyecto sea más real. Me sorprendió la cantidad de errores que arrojó. Mucho del código que usé en ngOnInit tuve que cambiarlo al constructor, principalmente la inicialización de propiedades resaltando FormGroup ahora tengo que inicializarlo en el constructor; de lo contrario, recibo un mensaje que dice que no se inicializó en el constructor. No puedo usar sysntax someObject["property"] porque la propiedad de cadena puede no ser una propiedad de someObject. Tengo muchos otros errores relacionados con la sintaxis. Lo que sucedió desde Angular 8. No soy "desarrollador de Javascript". No estoy dentro de lo que está pasando.
Estoy seguro que quiero usar Angular 13 mas. 5 versiones es una brecha enorme, no me quejo. ¿Es cierto que desde Angular 8 hubo cambios en la regla de sintaxis?
Estoy seguro que quiero usar Angular 13 mas. 5 versiones es una brecha enorme, no me quejo. ¿Es cierto que desde Angular 8 hubo cambios en la regla de sintaxis?
Respuesta corta: Sí.
Dada la gran cantidad de actualizaciones importantes por las que debe pasar, sugiero utilizar la guía de actualización oficial . Le permite realizar los cambios necesarios paso a paso y abordarlos uno por uno a medida que ocurren. Enlacé directamente la guía de 8.0 a 13.0, sin embargo, le sugiero que haga esto en pasos más pequeños (8.0 -> 9.0; 9.0 -> 10.0 y así sucesivamente). Esto lo ayudará dramáticamente a ver exactamente qué cambios (obvios) necesita para ajustar su código.
Si desea una inmersión aún más profunda, puede leer en los registros de cambios oficiales .
Parece que durante alguna actualización, se activó el modo estricto de Angular . El compilador entonces requiere una sintaxis más estricta. Puede deshacerse de esos errores configurando "strict": false en tsconfig.json .
Pero el equipo de Angular recomienda usar el modo estricto por las siguientes razones:
El modo estricto mejora la capacidad de mantenimiento y lo ayuda a detectar errores antes de tiempo. Además, las aplicaciones de modo estricto son más fáciles de analizar estáticamente y pueden ayudar al comando ng update a refactorizar el código de manera más segura y precisa cuando se actualiza a futuras versiones de Angular.