Работа в режим debug и release
Total.js работи в един от два режима, debug за разработка и release за сървъра, а глобалната булева стойност DEBUG казва на вашия код кой е активен. В режим debug приложението работи под наблюдател на файлове (watcher), който го рестартира, когато промените файл, грешките показват подробности и се генерират source maps. Режим release няма watcher, а страниците за грешки не показват техническите подробности.
Режимът се определя от начина, по който се стартира приложението, в стартовия скрипт (index.js), който извиква Total.run(options):
- по подразбиране е debug, с watcher;
options.release = trueстартира режим release; стартовият скрипт, който Total.js генерира, го задава от командния ред, така чеnode index.js --releaseе начинът да стартирате продукцията;options.watcher = falseизпълнява един процес без watcher и това винаги е режим release (това използват примерите на този сборник с рецепти).
Преди Total.run() да реши, DEBUG има стойност по подразбиране от NODE_ENV: тя е false, когато NODE_ENV=production, и true в останалите случаи. Кодът, който се изпълнява в момента на зареждане на модул, вижда тази стойност по подразбиране, затова не разчитайте на NODE_ENV за крайния режим, а само на DEBUG след като приложението е стартирало.
Маршрутите могат да следват режима. Флагът @debug кара маршрут да съществува само в режим debug, а @release само в режим release; в другия режим URL отговаря с 404. Използвайте @debug за инструменти, които ви трябват по време на разработка (преглед на базата данни, маршрут с тестови данни), за да не стигнат никога по погрешка до продукцията.
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' });
}