Concatenar y minimizar dependencias para archivos JavaScript en cola

8

Estoy cargando un archivo JavaScript usando wp_enqueue_scriptmi tema. Sin embargo, junto con él, también estoy cargando varios archivos jQuery, como dependencias para el script en cola (que ya ha sido concatenado y minificado por Grunt). Aquí está mi código:

add_action('wp_enqueue_scripts', function() {
    wp_enqueue_script( 'customscripts', get_template_directory_uri() . '/assets/js/main.min.js', array('jquery', 'jquery-form', 'json2', 'jquery-ui-autocomplete'), NULL, true );
});

Para la matriz de dependencias, ¿cómo haría para concatenar y minimizar esas dependencias de jQuery? Estoy tratando de que mi sitio se cargue lo más rápido posible, y cuantos menos archivos JS tenga que cargar, mejor. Además, si fuera posible hacer que se cargaran de forma asincrónica (usando la asyncpropiedad para las <script>etiquetas), eso sería as.

Prefiero hacerlo sin usar un complemento, pero usaré un complemento si es necesario.

Gracias por cualquier ayuda :)

Tom Oakley
fuente
3
Los archivos javascript de terceros deben registrarse / ponerse en cola mediante complementos tal como están; no concatenado, modificado o con otro nombre. De esta manera, si hay más de un complemento / tema que usa el mismo js de terceros, Wordpress no cargará varias instancias del mismo código. Para aprovechar esta gestión y concatenación, la concatenación se debe hacer sobre la marcha combinada con un sistema de caché para evitar concatenar los archivos para cada visita. Creo que este trabajo es demasiado para una respuesta aquí. Echa un vistazo a W3 Total Cache; este complemento concatena, minimiza, almacena en caché el resultado y carga archivos async js.
cybmeta
Tal como dice @cybmeta, W3 Total Cache hace el trabajo, pero tenga cuidado con concatenar archivos js. Algunas secuencias de comandos no están preparadas para estar "juntas" en los mismos archivos. Pero relájese también, los cambios de W3 Total Cache son reversibles.
Rangel R. Morais
hey, gracias por responder, W3 Total Cache está funcionando bastante bien para concatenar, etc., gracias por la sugerencia (y @cybmeta) :)
Tom Oakley
Hola, gracias por responder y perdón, olvidé responder. W3 Total Cache funciona bien en este momento, y su explicación de por qué WordPress no lo hace tiene mucho sentido. ¡Gracias!
Tom Oakley
1
Este complemento también es bueno si por alguna razón no quieres o necesitas W3 Total cache wordpress.org/plugins/autoptimize
NickFMC

Respuestas:

1

W3 Total Cache ofrece minificación JS / CSS. No estoy familiarizado con el proceso que usan, pero si desea evitar el uso de un complemento, puede echar un vistazo a su código fuente de cómo lo manejan.

Eric Holmes
fuente