Minificar e juntar CSS, JavaScript e HTML
O Total.js minifica o que serve, sem qualquer passo de compilação. Um ficheiro .css ou .js de public/ é enviado sem comentários nem espaços em branco (o código não é renomeado nem reestruturado, apenas compactado), e uma string enviada com $.html() ou uma vista renderizada perde os comentários HTML e os espaços repetidos são reduzidos. Um ficheiro cujo nome contém .min. (como library.min.js) é considerado já minificado e é enviado tal como está.
Três definições do ficheiro config controlam isto, todas true por omissão: $minifyjs, $minifycss e $minifyhtml. Ponha uma a false para servir esse tipo sem alterações, o que dá jeito quando depura no navegador.
MERGE(url, file1, file2, ...) regista um ficheiro virtual que é a concatenação, minificada, dos ficheiros indicados. O navegador faz um pedido em vez de muitos. Os caminhos dos ficheiros são URLs da pasta public/.
/* the page style */
body {
margin: 0;
color: #000000;
}// greeting
function hello(name) {
var message = 'Hello ' + name;
return message;
}function untouched ( ) { return 1 }function two() { return 2; }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>');
}