ForgeTotal.js 5
hu

Total.js 5

Futtatás debug és release módban

Total.js 5 · total5@0.0.19 deploymentdebugreleaseenvironment Total.js 5-tel lefuttatva

A Total.js két mód egyikében fut, debug a fejlesztéshez és release a szerverhez, a globális DEBUG logikai érték pedig megmondja a kódodnak, melyik aktív. Debug módban az alkalmazás fájlfigyelő (watcher) alatt fut, amely fájlmódosításkor újraindítja, a hibák részleteket mutatnak, és source mapek készülnek. A release módnak nincs watchere, a hibaoldalak pedig nem mutatják a technikai részleteket.

A módot az dönti el, hogyan indítod az alkalmazást, az indítóscriptben (index.js), amely a Total.run(options)-t hívja:

  • az alapértelmezés a debug, a watcherrel;
  • az options.release = true release módot indít; a Total.js által generált indítóscript parancssorból állítja be, így a node index.js --release a termelés indításának módja;
  • az options.watcher = false egyetlen folyamatot futtat watcher nélkül, és ez mindig release mód (ezt használják a receptgyűjtemény példái).

Mielőtt a Total.run() döntene, a DEBUG-nak van egy alapértéke a NODE_ENV-ből: false, ha NODE_ENV=production, különben true. Az a kód, amely egy modul betöltésekor fut, ezt az alapértéket látja, ezért a végső módhoz ne a NODE_ENV-re hagyatkozz, csak a DEBUG-ra az alkalmazás elindulása után.

Az útvonalak követhetik a módot. A @debug jelző azt eredményezi, hogy az útvonal csak debug módban létezik, a @release pedig csak release módban; a másik módban az URL 404-gyel válaszol. A @debug-ot a fejlesztés közben szükséges eszközökhöz használd (adatbázis-megjelenítő, tesztadatokat feltöltő útvonal), hogy sosem kerüljenek véletlenül élesbe.

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