2011-06-06 10 views
6

He estado cargando tantos JS y CSS en mi proyecto. Para mejorar el rendimiento de mi sitio, comencé con YUICompression integrado con Ant build. Así que cada vez que construyo el proyecto crea un archivo minificado con anexos "-min.js"cómo cargar minify css en entorno de producción

Ejemplo: myscript.js después de la compilación, nuevo archivo "myscript-min.js".

Ahora tengo que cambiar todos los archivos para cargar myscript-min.js en mis páginas.

¿Hay alguna manera de automatización o más simple para cargar el archivo minify.

Gracias de antemano !!!

Respuesta

2

En su código, intente determinar el entorno (producción o desarrollo) desde donde está cargando la página. Por ejemplo, al desarrollar en una máquina local, puede verificar su dirección IP, una variable de entorno de servidor (usando Apache SetEnv), ruta de script, etc. Usando esa información, cargue la secuencia de comandos minificada (en entorno de producción) o las secuencias de comandos separadas (en su entorno de desarrollo).

Supongo que está utilizando un lenguaje de scripting del lado del servidor, como PHP. Si está sirviendo archivos HTML estáticos, se vuelve un poco más complicado (estoy pensando en dynamic javascript loading o algo así).

1

Si puede (puede) utilizar PHP en su proyecto, eche un vistazo al proyecto minify. Se ocupa de la mayoría de las tareas. Usted es libre de usar versiones sin comprimir de sus archivos CSS y JS, y minimizarlos los comprimirá bajo demanda cuando estos archivos se soliciten a través de HTTP.

0

Si está usando PHP, simplemente hacer lo siguiente:

Editar el archivo de configuración de Apache en la máquina de producción y añadir esta línea a httpd.conf (Apache reinicio después). En un alojamiento compartido, debe probar .htaccess si no tiene acceso a httpd.conf.

SetEnv ENVIRONMENT production 

Esto simplemente agrega una variable a apache diciéndole que se está ejecutando en modo de producción. En su máquina de desarrollo, cambie el valor "producción" por "desarrollo" o lo que tenga sentido para usted.

Luego, en su archivo PHP, puede cambiar entre la carga de los archivos JS completas y la minified uno, de este modo:

if(isset($_SERVER['ENVIRONMENT']) && $_SERVER['ENVIRONMENT'] == "production") 
    { 
     ... production minified JS here 
    } 
    else 
    { 
     ... development unminified JS here 
    } 
Cuestiones relacionadas