Běh v režimu debug a release
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 = truespustí režim release; startovací skript generovaný Total.js ho nastavuje z příkazové řádky, takženode index.js --releaseje způsob, jak spustit produkci;options.watcher = falsespustí 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.
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' });
}