ForgeTotal.js 5
cs

Total.js 5

Běh v režimu debug a release

Total.js 5 · total5@0.0.19 deploymentdebugreleaseenvironment Spuštěno s Total.js 5

Total.js běží v jednom ze dvou režimů, debug pro vývoj a release pro server, a globální boolean DEBUG říká vašemu kódu, který je aktivní. V režimu debug aplikace běží pod watcherem, který ji restartuje při změně souboru, chyby ukazují podrobnosti a generují se source mapy. Režim release nemá watcher a chybové stránky neobsahují technické podrobnosti.

Režim určuje způsob spuštění aplikace, ve startovacím skriptu (index.js), který volá Total.run(options):

  • výchozí je debug s watcherem;
  • options.release = true spustí režim release; startovací skript generovaný Total.js ho nastavuje z příkazové řádky, takže node index.js --release je způsob, jak spustit produkci;
  • options.watcher = false spustí jeden proces bez watcheru a to je vždy režim release (používají ho příklady tohoto receptáře).

Dříve než o režimu rozhodne Total.run(), má DEBUG výchozí hodnotu z NODE_ENV: je false, když NODE_ENV=production, a jinak true. Kód, který se provede při načítání modulu, vidí tuto výchozí hodnotu, takže se na výsledný režim nespoléhejte na NODE_ENV, ale jen na DEBUG po spuštění aplikace.

Trasy mohou režim sledovat. Příznak @debug způsobí, že trasa existuje jen v režimu debug, a @release jen v režimu release; v druhém režimu URL odpoví 404. @debug použijte pro nástroje, které potřebujete při vývoji (prohlížeč databáze, trasa na testovací data), aby se nikdy omylem nedostaly do produkce.

controllers/mode.js
exports.install = function() {
	ROUTE('GET /mode/', mode);
	ROUTE('GET /tools/ @debug', tools);
	ROUTE('GET /status/ @release', status);
};

function mode($) {
	$.json({ debug: DEBUG });
}

function tools($) {
	$.json({ tools: true });
}

function status($) {
	$.json({ status: 'ok' });
}