Ez egy AI által fordított bejegyzés.
[Next.js] Futási időbeli környezeti változó befecskendezés
- Írás nyelve: Koreai
- •
- Referencia ország: Minden ország
- •
- Informatika
Válasszon nyelvet
A durumis AI által összefoglalt szöveg
- A .env a Next.js-ben a build időpontjában van beállítva, de előfordulhat, hogy a build után a környezeti változókat különböző környezetekhez (helyi, dev, qa, prod) kell beállítani.
- A Windows felhasználók nem tudják használni a hagyományos Unix alapú szkripteket, ezért telepíteniük kell a cross-env programot, hogy a szkriptek mind a Windows, mind az Unix környezetben működjenek.
- A start és a dev parancshoz hozzáadtuk a cross-env programot a környezeti változók beállításához, és a szkriptek tisztábban vannak strukturálva, javítva a kód olvashatóságát.
A .env a Next.js-ben az építési időpontban van beépítve.
De előfordulhat, hogy az épített kép futtatása során az építési időpont helyett szeretnénk beállítani az env-t.
Ez a legtöbb esetben a local, dev, qa és prod környezet kezelése miatt van.
Hogyan tudnánk ezt megvalósítani?
A legtöbb esetben a következő bejegyzéshez hasonlóan működik.
Ez a bejegyzés azonban kihagyja a Windowsot.
A package.json-ban szereplő szkriptben Unix szintaxis szerepel.
Ez azt jelenti, hogy a piszkos Unixot nem használó, tiszta, átgondolt és segítőkész Windows-felhasználó nem használhatja a fenti szkriptet.
Ezért a tiszta és segítőkész Windows-felhasználónak a Unix-felhasználók kényelme érdekében olyan szkriptet kell beillesztenie, amely a két operációs rendszeren hibátlanul fut.
A megoldás egyszerű.
Csak be kell illesztenünk egy olyan szkriptet, amely ugyanazt a funkciót látja el, mint a szintaxis.
A fenti parancs segítségével telepítsük a cross-env-t.
A fenti start parancsot módosítsuk a következő módon:
A szkript azonban túlságosan hosszú és nehézkes, és a dev parancshoz is hozzá kell adni.
{
"dev": "npm run _env:-local && next dev",
"dev:dev": "npm run _env:dev && next dev",
"start": "npm run _env:-local && next start",
"_env:-local": "cross-env-shell node ./utils/cli.js next-env -e $APP_ENV",
"_env:dev": "node ./utils/cli.js next-env -e dev"
Ezért én a fenti módon rendeztem el.