He estado usando yuicompressor.jar en mi servidor de prueba para minimizar al instante los archivos JavaScript modificados. Ahora que he desplegado el sitio web en el servidor público, noté que las políticas del servidor prohíben el uso de exec() o sus equivalentes, por lo que no hay más ejecución de Java para mí.YUICompressor o similar en PHP?
¿Existe un compresor JS sobre la marcha implementado en PHP? Lo único parecido a esto que pude encontrar fue Minify, pero es más una solución de compresión completa con caché y todo. Quiero mantener los archivos separados y hacer que los archivos minimizados sigan mis propias convenciones de nomenclatura, por lo que Minify es demasiado complejo para este propósito.
La herramienta, como yuicompressor, debería poder tomar un nombre de archivo o JavaScript como entrada y escribir en un archivo o imprimir el JavaScript comprimido.
EDITAR: Para aclarar, estoy buscando algo que no tenga que ser utilizado como independiente (es decir, se puede invocar desde una función, en lugar de olfatear mis variables GET). Si solo quisiera un compresor, Minify obviamente sería una buena opción.
EDIT2: Mucho ha cambiado en los cinco años desde que hice esta pregunta. Hoy recomendaría encarecidamente separar el flujo de trabajo de la interfaz de usuario del código del servidor. Hay muchas herramientas buenas para el desarrollo de JS y, a excepción de las mejoras jQuery más triviales, es una mejor idea tener un flujo de trabajo completo con paquetes, pruebas y salpicaduras automatizados y simplemente implementar los paquetes minificados en lugar de los archivos sin procesar.
Como ya he dicho. No puedo encontrar una forma de ejecutar minify desde dentro de una aplicación. Diablos, incluso espera establecer ciertos parámetros GET en lugar de tomar un nombre de archivo como argumento. Probablemente sea bueno, pero no es lo que estoy buscando. –
Minificar no es complejo. Puede tener un archivo específico minimizado simplemente usando algo como – karim79
Es complejo en términos de su "API". En realidad, realmente no tiene uno. Es una herramienta independiente que lee superglobales para la entrada. Si puede indicarme un contenedor que me permita usar Minify desde dentro de una aplicación, sería una opción válida. –