Configurare
Configurări de bază ale unei aplicații
Fiecare aplicație creată în Netuno are configurări specifice care definesc modul în care se conectează la baze de date, chei de acces și alți parametri fundamentali.
Netuno folosește un sistem inteligent care organizează aceste configurări în funcție de mediul în care rulează aplicația, fie local, fie pe un server oficial sau oriunde altundeva.
Configurările aplicației sunt centralizate în folderul config, aflat în rădăcina proiectului.
Cale implicită: aplicatia-mea/config
Medii de execuție
În folderul config, fișierele sunt denumite în funcție de mediul pentru care au fost create. Netuno încarcă automat doar fișierele care corespund mediului în care rulează în acel moment:
-
Dezvoltare: fișierele denumite
_developmentsunt citite doar când mediul Netuno este setat la dezvoltare. -
Producție: fișierele denumite
_productionsunt citite doar când mediul Netuno este setat la producție.
Tipuri de fișiere de configurare
Pentru fiecare mediu, poți folosi două tipuri de fișiere care lucrează împreună:
JSON
_development.json_production.json
Funcție: Stochează definițiile și parametrizările statice.
Exemplu: Introducerea credențialelor bazei de date, URL-urilor API-urilor externe și configurărilor fixe.
JS
_development.js_production.js
Funcție: Execută logici în momentul în care configurarea este încărcată.
Exemplu: Modificarea dinamică a configurărilor sau efectuarea de sarcini și procesări inițiale necesare înainte ca aplicația să ruleze complet.
Definirea mediului general
Pentru ca aplicațiile tale să știe ce configurare trebuie să utilizeze, trebuie să informezi serverul Netuno în ce „mod” funcționează. Această configurare globală este definită într-un singur fișier din rădăcina Netuno.
- Localizează fișierul de configurare globală: Mergi la folderul rădăcină unde a fost instalat Netuno. Găsește și deschide fișierul numit
config.js. - Găsește variabila de mediu: În fișier, caută proprietatea
config.env. - Setează mediul dorit: Schimbă valoarea variabilei în funcție de mediul pe care vrei să îl activezi.
Mediu de dezvoltare
Folosit în timp ce programezi și testezi pe propria mașină.
// În fișierul ./config.js din rădăcina Netuno
config.env = 'development'
Mediu de producție
Folosit când proiectul tău este finalizat și rulează pe serverul oficial pentru utilizatori.
// În fișierul ./config.js din rădăcina Netuno
config.env = 'production'
Alte medii (personalizate)
Netuno este flexibil și îți permite să creezi nume de medii personalizate, de exemplu: test, omologare sau preproducție.
// În fișierul ./config.js din rădăcina Netuno
config.env = 'test'
Configurarea aplicației trebuie să înceapă cu
_, să aibă extensia.jsonși, de asemenea, un fișier cu extensia.js, ambele din același mediu.
Repository Git
Când folosești Git pentru versionarea codului aplicației tale, este esențial să garantezi securitatea datelor.
Fișierele de configurare conțin de obicei informații sensibile, cum ar fi parole de baze de date, chei ale API-urilor private etc. De aceea, nu trebuie niciodată să trimiți fișierele de configurare reale în repository.
Pentru a te asigura că parolele tale nu ajung în repository și, în același timp, a menține proiectul documentat pentru alți dezvoltatori, urmează acești doi pași:
1. Ascunde fișierele reale
În rădăcina aplicației tale, deschide (sau creează) fișierul numit .gitignore. Adaugă căile fișierelor tale de configurare .json pentru ca Git să le ignore complet.
Exemplu de conținut de adăugat în .gitignore:
config/_development.json
config/_production.json
config/_test.json
2. Fișier de configurare exemplu
Creează un fișier exemplu cu datele necesare pentru ca noii dezvoltatori să configureze proiectul cu ușurință.
- Mergi la folderul config/ al aplicației tale.
- Creează un fișier numit
exemplu.json. - Copiază structura fișierului tău
_development.jsonîn el, păstrând doar numele câmpurilor.
Vezi cum ar trebui să arate config/exemplu.json:
{
"database": {
"host": "PUNE_HOSTUL_AICI",
"user": "UTILIZATORUL_TAU",
"password": "PAROLA_TA"
}
}
Cum se accesează configurările în cod
După ce ai definit variabilele și cheile în fișierele de configurare (cum ar fi _development.json), va trebui să le utilizezi în logica aplicației tale — de exemplu, la crearea unui serviciu care se conectează la un API și are nevoie de un token de acces salvat.
În Netuno, aceste configurări pot fi accesate prin resursa nativă _app.
Cum se caută datele
În orice cod executat de server (cum ar fi în folderul server/services/), vei folosi funcția _app.config() pentru a prelua valorile din fișierul tău de configurare activ.
Pentru a înțelege cum se face legătura, imaginează-ți că în fișierul tău de configurare (config/_development.json) ai definit următoarele:
{
"nume": "Aplicația Mea",
"versiune": 2
}
Pentru a prelua valoarea cheii „nume” și a o afișa în consola (logul) serverului, ai folosi următorul cod în serviciul tău .js:
// 1. Netuno merge în fișierul JSON, caută cheia "nume" și preia valoarea acesteia.
// 2. Apoi, salvează această valoare în variabila JavaScript pe care o numim 'numeleAplicatiei'.
let numeleAplicatiei = _app.config().getString("nume");
// 3. Afișează conținutul variabilei noastre în terminalul Netuno: "Aplicația Mea"
_log.info(numeleAplicatiei);
Configurări personalizate
Pe lângă configurările standard ale bazei de date și ale serverului, poți crea propriile variabile de configurare.
Acest lucru este foarte util pentru definirea regulilor de business, cum ar fi de exemplu „numărul maxim de elemente pe pagină” sau „intervalul de trimitere a e-mailurilor”, fără a fi nevoie să modifici codul aplicației de fiecare dată când aceste reguli se schimbă.
Aceste variabile sunt păstrate în blocul "settings" din fișierele tale de configurare JSON, cum ar fi _development.json sau _production.json.
Structura JSON și vizibilitate (public vs. privat)
Când creezi configurările, este esențial să separi ceea ce Interfața Utilizatorului (Frontend) poate vedea și ceea ce trebuie să rămână protejat doar pe Server (Backend).
- Variabile private: Se află în blocul
"settings". Doar serverul are acces. - Variabile publice: Se află în sub-blocul
"public". Ele sunt trimise către interfața utilizatorului (folderului), din aria administrativă, ca în dezvoltarea dashboard-urilor.
Exemplu de structurare a fișierului tău .json:
{
...
"settings": {
"public": {
"elementePePagina": 10
},
"intervalEmailuri": 10
}
}
Cum se accesează configurările în cod
Modul de preluare a acestor date se schimbă în funcție de locul în care programezi:
1. Pe server / backend (servicii)
Pentru a accesa configurări generale sau private, folosește resursa _app.settings() în codul tău de server (fișiere .js din folderul server).
// Accesează variabila privată "intervalEmailuri"
const intervalEmailuri = _app.settings().getInt("intervalEmailuri");
_log.info("Intervalul definit este de: " + intervalEmailuri);
2. În interfață / frontend (UI)
În dezvoltarea interfeței (fișiere din folderul ui), poți accesa tot ceea ce a fost definit în blocul "public". Pentru aceasta, folosește obiectul global netuno.config.app.settings.
// Accesează variabila publică "elementePePagina" în frontend
const elementePePagina = netuno.config.app.settings.elementePePagina;
console.log("Se afișează " + elementePePagina + " elemente în tabel.");
Concluzie
Sistemul de configurări al Netuno oferă flexibilitate și securitate structurală pentru aplicația ta. Prin intermediul lui, este posibil să:
- Gestionezi multiple medii: Poți crea și suporta contexte diferite de execuție (dezvoltare, producție etc.) cu parametrizări independente.
- Personalizezi variabile: Utilizezi blocul
settingspentru a adăuga configurări specifice afacerii tale. - Separi responsabilitățile: Izolezi și protejezi configurările restricționate la backend de cele care trebuie să fie accesibile în frontend.