Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:express:beallitasok_tarolasa

< Express

Beállítások tárolása

Bevezetés

Az API alkalmazás beállításait tárolhatjuk .env vagy valamilyen JSON fájlban. A .env fájl helyet használhatunk más nevet is, de ez egy általánosan használt fájlnév. A JSON fájl valamilyen .json kiterjesztésű fájl:

  • config.json
  • default.json
  • default_config.json
  • config/default.json
  • stb.

A .env fájlban szimpla változóként tartjuk nyilván a beállításokat, a JSON fájlokban értelemszerűen JSON formátumban.

Mit tárolunk ilyen fájlokban? Az alkalmazáshoz tartozó portbeállítás, verziószám, adatbázis adatok stb.

Node.js projekt létrehozása

Hozzunk létre egy Node.js projektet:

mkdir api
cd api
npm init -y

.env

Szükségünk van a dotenv csomagra a .env fájl tartalmának olvasásához. Telepítsük:

npm install dotenv

Készítsünk egy .env fájlt a projekt gyökérkönyvtárában, majd vegyünk fel benne néhány változót:

.env
NAME=Barbi
CITY=Szeged
APP_PORT=8000
index.js
import dotenv from 'dotenv' 
dotenv.config();
 
console.log(process.env.NAME);
console.log(process.env.CITY);

A config() függvény paraméterezhető is. Debug és útvonal beállítása:

index.js
import dotenv from 'dotenv' 
dotenv.config({ debug: true, path: './config/.env' });
 
console.log(process.env.NAME);
console.log(process.env.CITY);

config.json

A beállítások tárolhatók JSON fájlban is. A fájl neve tetszőleges. Lehet config vagy default, a kiterjesztést viszont célszerű .json-ra állítani. Egy példa a tartalomra:

config.json
{
  "name": "Barbi",
  "city": "Szeged",
  "app": {
    "port": 3000
  }
}

Használjuk a beállításokat:

index.js
import { readFileSync } from 'fs'
const fileUrl = new URL('config.json', import.meta.url)
const config = JSON.parse(readFileSync(fileUrl, 'utf-8'))
 
console.log(config.name)
console.log(config.city)

Az URL osztály kihagyható, ha config.json fájl egy könyvtárban van az index.js állománnyal. Itt azért alkalmaztuk, mert ez működik alkönyvtárak esetén is, például:

  • '../../config/default.json'

Esetleg:

index.js
import { readFile } from 'fs/promises'
const fileUrl = new URL('config.json', import.meta.url)
const config = JSON.parse(await readFile(fileUrl, 'utf-8'))
 
console.log(config.name)
console.log(config.city)
console.log(config.app.port)

npm create sip

Ha a sip paranccsal készítjük el a projektet a beállítások alapértelmezetten egy JSON fájlban a következő helyen találhatók:

  • config/default.json

Hozzunk létre kísérletként egy alap nevű projektet:

npm create sip@latest

A parancs rákérdez a projekt nevére, majd válasszuk a projekt típusának a Express API lehetőséget.

Az elkészített default.json fájl tartalma:

config/default.json
{
    "app": {
        "port": 8000,
        "key": "",
        "log": "console.log"
    },
    "db": {
        "dialect": "sqlite",
        "host": "127.0.0.1",
        "name": "",
        "user": "",
        "pass": "",
        "path": ":memory:"
    }
}

A fájlt nyugodtan szerkeszthetjük. Az eredeti tartalmat megtaláljuk a default.json.example fájlban.

oktatas/web/back-end_framework/express/beallitasok_tarolasa.txt · Utolsó módosítás: 2025/07/18 23:45 szerkesztette: admin