Quiero comprimir javascript en yui compressor, Cómo escribir Make archivo para comprimir javascript.Makefile que comprime javascript
Porque la gramática es difícil y no la entiende, ¿Podría darme un archivo de muestra para mí?
Quiero comprimir javascript en yui compressor, Cómo escribir Make archivo para comprimir javascript.Makefile que comprime javascript
Porque la gramática es difícil y no la entiende, ¿Podría darme un archivo de muestra para mí?
Su makefile sería algo como
code.compressed.js: code.js
compressor -o [email protected] $<
Tenga en cuenta que la segunda línea tiene sangría con un carácter pestaña, no sólo los espacios. La utilidad make se preocupa por esto.
code.compressed.js
es el nombre en el que se debe escribir el archivo, code.js
es el archivo para comprimir y compressor
es el programa que realiza la compresión.
El indicador -o
indica el archivo de salida, siguiendo la convención de compiladores y herramientas similares. El tuyo puede diferir; revisa su documentación.
La variable [email protected]
es una abreviatura Makefile para "objetivo de esta regla", code.compressed.js
en este caso. Del mismo modo, $<
es una abreviatura de "primera dependencia de esta regla". Estas variables son útiles para que no necesite repetirse, ni realizar cambios duplicados cuando se renombra un archivo.
Si tiene varios archivos que todos serán comprimidos en un único archivo de salida, se puede poner a todos en la línea de dependencia, y luego usar la variable $^
especial en la regla acumulación para especificar todos ellos:
code.compressed.js: code1.js code2.js
compressor -o [email protected] $^
Alternativamente, si los quieres comprimida cada una por separado, puede escribir una regla patrón y usarlo para todos ellos:
TARGETS = code1.cjs code2.cjs code3.cjs
all: $(TARGETS)
%.cjs: %.js
compressor -o [email protected] $<
Hacer por defecto a la construcción del primer objetivo que ve, que es all
en este caso. La lista de archivos para comprimir está dada por el contenido de la variable TARGET
. El %
es un comodín que sustituirá para generar reglas para coincidir con los nombres de archivo de origen y destino.
Gracias por una respuesta muy simple. Sin embargo, hay muchos códigos fuente. ¿Cómo hacer ese caso? code1.js, code2.js ,,, – freddiefujiwara
Edita esa expansión en tu pregunta, en lugar de dejarla en un comentario. – Novelocrat
Honestamente, no sé por qué alguien se molesta más con esto. Simplemente envíe su JS con codificación gzip y termine con esto. Gzip comprimirá el texto de manera muy efectiva. – SpliFF
Por supuesto que espero que el efecto transfiera la eficiencia. Además, espero el efecto de la ligera dificultad para leer mis códigos js. – freddiefujiwara
@SpliFF: porque la minificación hace que gzip sea más eficiente. Hace una diferencia si estás atascado con un gran marco de JS inflado ... – Kornel