# Začnite s Total.js

> Nainštalovať Total.js 5, vytvoriť štartový skript a prvú trasu, akciu a zobrazenie, a spustiť aplikáciu.

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

Total.js 5 je npm balík `total5`. Potrebujete Node.js (príklady na tomto webe bežia na Node.js 24) a prázdny priečinok. Vytvorte projekt a nainštalujte balík:

```bash
mkdir hello && cd hello
npm init -y
npm install total5
```

Štartovací skript je súbor s názvom `index.js` v koreňovom priečinku projektu. Načíta framework a spustí server:

```js
require('total5');

Total.run({ port: 8000 });
```

To je všetok kód, ktorý musíte napísať na spustenie. Súbory v priečinkoch projektu (pozrite stránku o štruktúre projektu) sa načítajú automaticky. Vytvorte tieto tri súbory.

**Kontrolér** deklaruje routy. `ROUTE('GET /')` bez obsluhy by zobrazil pohľad s rovnakým názvom; tu obsluha vykreslí `views/index.html` s modelom:

```js controllers/index.js
exports.install = function() {
	ROUTE('GET /', home);
	ROUTE('POST /greet/ --> *Greet/say');
};

function home($) {
	$.view('index', { title: 'Hello Total.js' });
}
```

**Akcia** má vlastnú validáciu. Uvedená routa spustí `Greet/say` s JSON telom požiadavky a framework odmietne telo, ktoré nezodpovedá `input`:

```js definitions/greet.js
NEWACTION('Greet/say', {
	name: 'Say hello',
	input: '*name:String',
	action: function($, model) {
		$.callback({ message: 'Hello, ' + model.name + '!' });
	}
});
```

**Pohľad** je HTML s blokmi `@{...}`. `views/layout.html` obaľuje každý pohľad a `@{body}` je miesto pohľadu:

```html views/layout.html
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" /><title>Hello</title></head>
<body>@{body}</body>
</html>
```

```html views/index.html
<h1>@{model.title}</h1>
```

Spustite aplikáciu príkazom `node index.js`. V predvolenom režime `debug` sa aplikácia po zmene súboru reštartuje a vypíše svoju adresu do terminálu. Režim `release` spustíte príkazom `node index.js --release`. Rozdiely vysvetľuje návod na režimy spúšťania.
