# Minifică și îmbină CSS, JavaScript și HTML

> Fișierele statice și răspunsurile HTML sunt minificate automat; folosește MERGE() pentru a servi mai multe fișiere ca unul singur și setările $minify pentru a-l dezactiva.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: ro
Content-SHA256: f969482664628e80ae7a12badb1963cc28916dfc17682255db96cc5692324973
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Total.js minifică ceea ce servește, fără niciun pas de build. Un fișier `.css` sau `.js` din `public/` este trimis fără comentarii și spații albe (codul nu este redenumit sau restructurat, ci doar compactat), iar un șir trimis cu `$.html()` sau un view randat pierde comentariile HTML și spațiile repetate sunt comprimate. Un fișier al cărui nume conține `.min.` (precum `library.min.js`) este considerat deja minificat și este trimis ca atare.

Trei setări din fișierul `config` îl controlează, toate `true` în mod implicit: `$minifyjs`, `$minifycss` și `$minifyhtml`. Setează una la `false` pentru a servi acel tip nemodificat, ceea ce e util când depanezi în browser.

`MERGE(url, file1, file2, ...)` înregistrează un fișier virtual care este concatenarea, minificată, a fișierelor date. Browserul face o singură cerere în loc de multe. Căile fișierelor sunt URL-uri ale folderului `public/`.

```css public/css/app.css
/* the page style */
body {
	margin: 0;
	color: #000000;
}
```

```js public/js/app.js
// greeting
function hello(name) {
	var message = 'Hello ' + name;
	return message;
}
```

```js public/js/library.min.js
function   untouched ( ) { return  1 }
```

```js public/js/two.js
function two() { return 2; }
```

```js 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>');
}
```
