# Kezdjük a Total.js-vel

> Telepítse a Total.js 5-et, hozzon létre az induló forgatókönyvet és az első útvonalat, a cselekvést és a megjelenítést, és futtatja az alkalmazást.

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

A Total.js 5 az `total5` npm-csomag. Szükséged van Node.js-re (az oldal példái Node.js 24-en futnak) és egy üres mappára. Hozd létre a projektet és telepítsd a csomagot:

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

Az indítószkript a projekt gyökerében lévő `index.js` nevű fájl. Betölti a keretrendszert és elindítja a szervert:

```js
require('total5');

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

Ennyi az egész kód, amit az induláshoz írnod kell. A projekt mappáiban lévő fájlok (lásd a projektstruktúra oldalt) automatikusan betöltődnek. Hozd létre ezt a három fájlt.

A **vezérlő** deklarálja az útvonalakat. A kezelő nélküli `ROUTE('GET /')` az azonos nevű nézetet jelenítené meg; itt a kezelő a `views/index.html`-t rendereli egy modellel:

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

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

Egy **művelet** saját validációval rendelkezik. A fenti útvonal a kérés JSON törzsével futtatja a `Greet/say`-t, a keretrendszer pedig elutasítja az `input`-nak nem megfelelő törzset:

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

A **nézet** `@{...}` blokkokat tartalmazó HTML. A `views/layout.html` minden nézetet körbevesz, a `@{body}` pedig a nézet helye:

```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>
```

Indítsa el az alkalmazást a `node index.js` paranccsal. Az alapértelmezett `debug` módban az alkalmazás fájlmódosítás után újraindul, és kiírja a címét a terminálba. A `release` módhoz használja a `node index.js --release` parancsot. A futtatási módok útmutatója ismerteti a különbségeket.
