# Минимизиране и обединяване на CSS, JavaScript и HTML

> Статичните файлове и HTML отговорите се минимизират автоматично; използвайте MERGE(), за да сервирате няколко файла като един, и настройките $minify, за да го изключите.

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

Total.js минимизира онова, което сервира, без никаква стъпка за компилиране. Файл `.css` или `.js` от `public/` се изпраща без коментари и празно пространство (кодът не се преименува и не се преструктурира, само се уплътнява), а низ, изпратен с `$.html()`, или изобразен view губи HTML коментарите си, а повтарящите се интервали се свиват. Файл, чието име съдържа `.min.` (като `library.min.js`), се смята за вече минимизиран и се изпраща такъв, какъвто е.

Три настройки във файла `config` го управляват, всички `true` по подразбиране: `$minifyjs`, `$minifycss` и `$minifyhtml`. Задайте една на `false`, за да се сервира този тип непроменен, което е удобно при отстраняване на грешки в браузъра.

`MERGE(url, file1, file2, ...)` регистрира виртуален файл, който е минимизираното обединение на зададените файлове. Браузърът прави една заявка вместо много. Пътищата на файловете са URL адреси на папката `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>');
}
```
