Hola a todos,
Después de estar depurando lentitud en alguna de nuestras web, hacemos un profiler y nos da esto:
Más de 1 segundo en comprimir los JS!!
Según el propio autor de la librería (https://github.com/rgrove/jsmin-php) que utiliza PrestaShop, dice: "No deberías utilizar ninguna versión de JSMin". El proyecto lleva sin actualizarse desde hace más de 6 años.
Incluso nos recomienda otra, que es la que hemos probado, JShrink
https://github.com/tedivm/JShrink
Para poder sustituirla, podemos hacer lo siguiente.
Nos bajamos este fichero a nuestra carpeta /classes/, teniendo el fichero como /classes/Minifier.php
https://github.com/tedivm/JShrink/blob/master/src/JShrink/Minifier.php
En la clase /classes/Media.php cambiamos la función packJS por algo similar a lo de esta captura:
Posteriormente, en nuestra base de datos, agregamos el valor "PS_JS_MINIFIER", usando esto para poder determinar que librería de minify queremos usar.
Y así pasamos, del segundo, a cerca de 200ms, por hacer lo mismo:
Para recordatorio propio de lo que he hecho:
https://github.com/danidomen/materialescolar/commit/fa630fb28e001359365bfbf7a6f768ed9da9e4f7
UPDATE!!: OJO, contrariamente a mi pensamiento, la variable en la función de "minify" no es por referencia, con lo que la línea 178 de la captura, debería quedar así:
case 'jshrink': $js_content = Minifier::minify($js_content); break;
No hay comentarios:
Publicar un comentario