ForgeTotal.js 5
pl

Total.js 5

Uruchamianie w trybie debug i release

Total.js 5 · total5@0.0.19 deploymentdebugreleaseenvironment Uruchomiono z Total.js 5

Total.js działa w jednym z dwóch trybów, debug do programowania i release na serwer, a globalna wartość logiczna DEBUG mówi Twojemu kodowi, który jest aktywny. W trybie debug aplikacja działa pod watcherem plików, który restartuje ją po zmianie pliku, błędy pokazują szczegóły i generowane są source mapy. Tryb release nie ma watchera, a strony błędów nie pokazują szczegółów technicznych.

Tryb wybiera sposób uruchomienia aplikacji, w skrypcie startowym (index.js) wywołującym Total.run(options):

  • domyślnie jest debug, z watcherem;
  • options.release = true uruchamia tryb release; skrypt startowy generowany przez Total.js ustawia to z wiersza poleceń, więc node index.js --release to sposób na uruchomienie produkcji;
  • options.watcher = false uruchamia jeden proces bez watchera i jest to zawsze tryb release (używają go przykłady z tej książki kucharskiej).

Zanim Total.run() zdecyduje, DEBUG ma wartość domyślną z NODE_ENV: jest false, gdy NODE_ENV=production, a w przeciwnym razie true. Kod uruchamiany w chwili ładowania modułu widzi tę wartość domyślną, więc nie polegaj na NODE_ENV dla ostatecznego trybu, tylko na DEBUG po uruchomieniu aplikacji.

Trasy mogą podążać za trybem. Flaga @debug sprawia, że trasa istnieje tylko w trybie debug, a @release tylko w trybie release; w drugim trybie adres URL odpowiada 404. Używaj @debug dla narzędzi potrzebnych podczas programowania (przeglądarka bazy danych, trasa z danymi testowymi), aby nigdy nie trafiły przypadkiem na produkcję.

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' });
}