# Minifier et fusionner CSS, JavaScript et HTML

> Les fichiers statiques et les réponses HTML sont minifiés automatiquement ; utilisez MERGE() pour servir plusieurs fichiers comme un seul et les réglages $minify pour le désactiver.

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

Total.js minifie ce qu'il sert, sans aucune étape de compilation. Un fichier `.css` ou `.js` de `public/` est envoyé sans commentaires ni espaces superflus (le code n'est ni renommé ni restructuré, seulement compacté), et une chaîne envoyée avec `$.html()` ou une vue rendue perd ses commentaires HTML et voit ses espaces répétés réduits. Un fichier dont le nom contient `.min.` (comme `library.min.js`) est considéré comme déjà minifié et est envoyé tel quel.

Trois réglages du fichier `config` le contrôlent, tous à `true` par défaut : `$minifyjs`, `$minifycss` et `$minifyhtml`. Mettez-en un à `false` pour servir ce type sans modification, ce qui est pratique pour déboguer dans le navigateur.

`MERGE(url, file1, file2, ...)` enregistre un fichier virtuel qui est la concaténation, minifiée, des fichiers indiqués. Le navigateur fait une requête au lieu de plusieurs. Les chemins de fichiers sont des URL du dossier `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>');
}
```
