ForgeTotal.js 5
es

Total.js 5

Minifica y combina CSS, JavaScript y HTML

Total.js 5 · total5@0.0.19 performancecssjavascripthtmlminification Ejecutada con Total.js 5

Total.js minifica lo que sirve sin ningún paso de compilación. Un archivo .css o .js de public/ se envía sin comentarios ni espacios en blanco (el código no se renombra ni se reestructura, solo se compacta), y una cadena enviada con $.html() o una vista renderizada pierde sus comentarios HTML y colapsa los espacios repetidos. Un archivo cuyo nombre contiene .min. (como library.min.js) se considera ya minificado y se envía tal cual.

Tres ajustes del archivo config lo controlan, todos en true por defecto: $minifyjs, $minifycss y $minifyhtml. Pon uno en false para servir ese tipo sin tocar, lo que resulta útil cuando depuras en el navegador.

MERGE(url, file1, file2, ...) registra un archivo virtual que es la concatenación, minificada, de los archivos indicados. El navegador hace una petición en lugar de muchas. Las rutas de archivo son URLs de la carpeta public/.

public/css/app.css
/* the page style */
body {
	margin: 0;
	color: #000000;
}
public/js/app.js
// greeting
function hello(name) {
	var message = 'Hello ' + name;
	return message;
}
public/js/library.min.js
function   untouched ( ) { return  1 }
public/js/two.js
function two() { return 2; }
controllers/minify.js
exports.install = function() {
	ROUTE('GET /page/', page);
	MERGE('/all.js', '/js/app.js', '/js/two.js');
};

function page($) {
	$.html('<!DOCTYPE html>\n<html>\n  <body>\n    <!-- a note -->\n    <p>  Hello   world  </p>\n  </body>\n</html>');
}