# Minifiera och slå ihop CSS, JavaScript och HTML

> Statiska filer och HTML-svar minifieras automatiskt; använd MERGE() för att servera flera filer som en och inställningarna $minify för att stänga av det.

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

Total.js minifierar det som serveras, utan något byggsteg. En `.css`- eller `.js`-fil från `public/` skickas utan kommentarer och blanksteg (koden byter inte namn och struktureras inte om, den packas bara samman), och en sträng som skickas med `$.html()` eller en renderad vy förlorar sina HTML-kommentarer och upprepade mellanslag slås ihop. En fil vars namn innehåller `.min.` (som `library.min.js`) anses redan vara minifierad och skickas som den är.

Tre inställningar i filen `config` styr det, alla `true` som standard: `$minifyjs`, `$minifycss` och `$minifyhtml`. Sätt en till `false` för att servera den typen orörd, vilket är praktiskt när du felsöker i webbläsaren.

`MERGE(url, file1, file2, ...)` registrerar en virtuell fil som är den minifierade sammanslagningen av de angivna filerna. Webbläsaren gör en förfrågan i stället för många. Filsökvägar är URL:er i mappen `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>');
}
```
