Búsqueda de sitios web

Cómo minimizar automáticamente archivos JavaScript al cargar la página en Apache usando UglifyJS


Minimizar sus archivos JavaScript es una forma de proteger sus códigos JavaScript y reducir el tamaño de su página. Esto no se puede hacer mientras se codifica, tenemos herramientas para ello. Pero, ¿qué pasa si codificas con manos libres y tu servidor minimiza por ti, ya que es el único que muestra lo que ve la web, mucho mejor? Bueno, vayamos directo a eso.

Requisitos:

  • UglifyJS
  • mod_ext_filter
  • apache

Instalar UglifyJS

Aquí estoy ejecutando Ubuntu 14 o 15 con Apache2 instalado; Ahora instalaré uglifyjs. UglifyJS es una herramienta de embellecimiento y minimización de JS.

sudo apt-get install uglifyjs

Ahora, para verificar mi instalación de uglifyjs escribiré:

uglifyjs –help

UglifyJS se instaló correctamente, ahora activaré mod_ext_filter. Este es un módulo de Apache para filtrar la entrada y salida del servidor Apache; Necesitamos este módulo, así que lo activaré porque está desactivado por defecto instalación de Apache.

En Ubuntu:

sudo a2enmod ext_filter

Luego reinicie apache2.

Otras distribuciones:

Cree un enlace simbólico de ext_filter.load de mods-available a mod-enabled como se muestra a continuación:

sudo ln -s /etc/apache2/mods-available/ext_filter.load /etc/apache2/mods-enabled/

Configurar la minificación

Ahora que tengo configurados uglifyjs y mod_ext_filter, crearé un archivo de configuración que minimice solo los archivos JS. Estoy creando js-minify.conf en /etc/apache2/conf-available/ y Lo pegaré en este código.

<IfModule mod_ext_filter.c>
ExtFilterDefine jsminify\
intype=application/javascript outtype=application/javascript\
cmd="/usr/bin/uglifyjs"
</IfModule>

ExtFilterDefine jsminify: Definí un nombre de filtro que usaré en mi htaccess

intype=application/javascript: Este filtro funciona en archivos JavaScript solo cuando una aplicación/javascript es su tipo de archivo MIME

outtype=application/javascript: Después de trabajar en este archivo, devuélvalo como un archivo JavaScript

cmd="/usr/bin/uglifyjs": Este es el comando a ejecutar en el archivo, es más preciso ingresar la ruta completa al comando, buscando una parte completa de un comando que escribo:

whereis uglifyjs

Sin ningún archivo de entrada proporcionado, uglifyjs toma la entrada de stdin y la salida a stdout. Guardé el archivo y activo la configuración escribiendo:

sudo a2enconf js-minify

Luego recarga apache2:

sudo service apache2 reload

Agregar a htaccess

Configure esto en su htaccess y cada archivo JS se minimizará automáticamente cuando pase por Apache.

SetOutputFilter jsminify

¡Hecho!

Sobre el autor:

Este artículo fue escrito por Don Jajo de Nigeria. Para cualquier opinión o comentario, comuníquese con el autor: [email