ForgeDocumentatie
nl

Documentatie

Begin met Total.js

Total.js 5 · total5@0.0.19 guideinstallfirst app Uitgevoerd met Total.js 5

Total.js 5 is het npm-pakket total5. Je hebt Node.js nodig (de voorbeelden van deze site draaien op Node.js 24) en een lege map. Maak het project aan en installeer het pakket:

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

Het startscript is een bestand met de naam index.js in de hoofdmap van het project. Het laadt het framework en start de server:

require('total5');

Total.run({ port: 8000 });

Dat is alle code die je schrijft om te starten. De bestanden in de mappen van het project (zie de pagina over de projectstructuur) worden automatisch geladen. Maak deze drie bestanden.

Een controller declareert de routes. ROUTE('GET /') zonder handler zou de view met dezelfde naam tonen; hier rendert de handler views/index.html met een model:

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

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

Een actie heeft zijn eigen validatie. De route hierboven voert Greet/say uit met de JSON-body van het verzoek, en het framework weigert een body die niet overeenkomt met input:

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

Een view is HTML met @{...}-blokken. views/layout.html omhult elke view en @{body} is de plek van de view:

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

Start de toepassing met node index.js. In de standaardmodus debug start de toepassing opnieuw wanneer u een bestand wijzigt en toont zij haar adres in de terminal. Gebruik voor de modus release het commando node index.js --release. De handleiding voor uitvoeringsmodi beschrijft de verschillen.