Jawr

De Dos Ideas.
Saltar a: navegación, buscar

Jawr es una solución de empaquetado para Javascript y CSS, que permite un rápido desarrollo de los recursos en módulos separados.

Mediante el uso de una biblioteca de etiquetas, Jawr permite el uso de las mismas páginas, sin cambios para el desarrollo y la producción. Jawr también minimiza y comprime los archivos, lo que resulta en una reducción de los tiempos de carga. Jawr se configura mediante un archivo de properties.

Características

Entre otras cosas, Jawr permite:

  • crear "bundles" de varios archivos JavaScript o CSS. Es decir, agrupar muchos archivos en uno único.
  • minificar archivos JavaScript o CSS, quitando espacios, comentarios y otras técnicas para minimizar el tamaño.
  • comprimir los archivos usando gzip y enviar el resultado comprimido al navegador.
  • leer automáticamente los archivos de un directorio (y subdirectorios), sin necesidad de especificar manualmente cada archivo.
  • crear sprites de múltiples imágenes y compactarlas en una única imágen.

Ejemplo

A continuación se muestra la esencia de jawr Jawr.png

ejemplo de jawr.properties

# Common properties
jawr.debug.on=false
jawr.gzip.on=false
jawr.gzip.ie6.on=false
jawr.charset.name=UTF-8 

# Javascript properties and mappings
jawr.js.bundle.basedir=/js 

# All files within /js/lib will be together in a bundle. 
# The remaining scripts will be served sepparately. 
jawr.js.bundle.jquery.id=/jquery.js
jawr.js.bundle.jquery.mappings=/js/jquery/**

jawr.js.bundle.jquery-json.id=/jquery-json.js
jawr.js.bundle.jquery-json.mappings=/js/jquery-json/** 

# The /bundles/lib.js bundle is global 
# (always imported before other scripts to pages using the taglib)
jawr.js.bundle.lib.global=true 


# CSS properties and mappings
jawr.css.bundle.basedir=/css

# CSS files will be all bundled together automatically
jawr.css.factory.use.singlebundle=true
jawr.css.factory.singlebundle.bundlename=/default.css


web.xml

       <servlet>
		<servlet-name>JavascriptServlet</servlet-name>
		<servlet-class>net.jawr.web.servlet.JawrServlet</servlet-class>

		<init-param>
			<param-name>configLocation</param-name>
			<param-value>/jawr.properties</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet>
		<servlet-name>CSSServlet</servlet-name>
		<servlet-class>net.jawr.web.servlet.JawrServlet</servlet-class>

		<init-param>
			<param-name>configLocation</param-name>
			<param-value>/jawr.properties</param-value>
		</init-param>
		<init-param>
			<param-name>type</param-name>
			<param-value>css</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>JavascriptServlet</servlet-name>
		<url-pattern>*.js</url-pattern>
	</servlet-mapping>

	<servlet-mapping>
		<servlet-name>CSSServlet</servlet-name>
		<url-pattern>*.css</url-pattern>
	</servlet-mapping>
	

ejemplo de un jsp

<%@ taglib uri="http://jawr.net/tags" prefix="jwr"%>
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
   <head>
      <jwr:script src="/jquery.js" />
      <jwr:script src="/jquery-json.js" />
      <jwr:style src="/default.css" />
   </head>
   <body> 

 	<h 2>Hello World!</h 2>
   </body>
</html>

Ver también