Corregir Errores de Compresión en Archivos JavaScript en Genexus
En algunas ocasiones pasa (generalmente en cambios de versión de GeneXus) que da un error al comprimir los archivos javascript.
Si bien el mensaje es claro, es un warning y el proceso de build all termina con éxito. Por este motivo, a veces no se detecta el problema hasta que llega a producción y es mucho mas caro de corregir.
Por eso, recomiendo mucho sobre todo en las primeras especificaciones/generaciones/compilaciones de una KB en una nueva instalación, prestar especial atención a la compresión de los archivos javascript.
Un caso real
Por ejemplo, el caso de la imagen, había un webpanel programado sin pattern que utilizaba un User Control que se instalaba con un Pattern.
Al cambiar la versión del Pattern, se actualizo el UC, cambiando de nombre y todos los objetos generados con el mismo pasaron a utilizar la nueva versión del UC, pero éste webpanel siguió usando el UC viejo, que ya no estaba instalado.
Al especificarlo, no daba ningún warning y compilaba sin errores. Solo aparecia el warning al comprimir el javascritp.
Compressing static files...js\hwenviosdnacontingencia.js(121): Expected identifier: (
js\hwenviosdnacontingencia.js(121): Expected ';'
js\hwenviosdnacontingencia.js(121): Expected expression: )
warning: Some files could not be compressed.
Como identificar y resolver el problema
La forma de identificar el problema es mirar el output y revisar si todos los archivos pueden comprimirse sin errores.
Los que no puedan ser comprimidos, conviene mirar el archivo javascript y buscar la linea con problemas, en el ejemplo de arriba es la 121. Generalmente con eso es suficiente para detectar el objeto y la causa del problema.
En este caso, cambie el UC viejo por el nuevo en forma manual y con eso evite el problema.
Conclusión:
Dedicarle unos minutos a revisar el output, puede ahorrar varios dolores de cabeza en produccion.
Comentarios
Publicar un comentario
1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.