![translation](https://cdn.durumis.com/common/trans.png)
Ceci est un post traduit par IA.
[Next.js] Injection d'environnement d'exécution
- Langue de rédaction : Coréen
- •
-
Pays de référence : Tous les pays
- •
- Technologies de l'information
Choisir la langue
Texte résumé par l'IA durumis
- Dans Next.js, .env est configuré au moment de la compilation, mais il existe des cas où des variables d'environnement doivent être configurées après la compilation, en fonction de l'environnement d'exécution (local, dev, qa, prod).
- Les utilisateurs de Windows ne peuvent pas utiliser les scripts traditionnels basés sur Unix, il est donc nécessaire d'installer cross-env pour écrire des scripts qui fonctionnent à la fois sous Windows et Unix.
- Cross-env est appliqué aux commandes start et dev pour configurer les variables d'environnement et les scripts sont simplifiés pour améliorer la lisibilité.
Dans Next.js, .env est intégré pendant le processus de construction et devient du code figé.
Cependant, il existe de nombreux cas où nous voulons définir l'environnement non pas pendant la construction, mais au moment de l'exécution de l'image construite.
En général, nous traitons les environnements local, dev, qa et prod.
Alors, comment pouvons-nous y parvenir ?
La plupart du contexte est similaire à l'article ci-dessous.
Cependant, l'article ci-dessus rejette Windows.
On peut le voir dans le script de package.json où la syntaxe Unix est utilisée.
Cela signifie que les utilisateurs de Windows, qui sont propres, honnêtes, et plein de considération, ne peuvent pas utiliser ce script car ils n'utilisent pas le sale Unix.
Par conséquent, les utilisateurs de Windows propres et attentionnés doivent s'occuper des utilisateurs d'Unix et fournir un script qui fonctionne correctement sur les deux systèmes d'exploitation.
La solution est simple.
Il suffit d'utiliser un script qui fait la même chose que cette syntaxe.
Installez cross-env avec la commande ci-dessus.
La solution est de modifier la commande start mentionnée ci-dessus comme suit.
Cependant, le script est trop long et difficile à lire. De plus, il doit être ajouté à la commande dev.
{
"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"
J'ai donc organisé les choses comme ci-dessus.