Utiliser des variables d'environnement
Astro utilise Vite pour les variables dâenvironnement, et permet dâutiliser nâimporte quelle mĂ©thode de Vite pour obtenir et dĂ©finir des variables dâenvironnement.
Notez que toutes les variables dâenvironnement sont disponibles dans le code cotĂ© serveur, mais seulement les variables prĂ©fixĂ©es avec PUBLIC_
sont disponibles dans le code client pour des raisons de sécurité.
Jetez un oeil Ă lâexemple officiel des variables dâenvironnement pour un aperçu des pratiques Ă appliquer.
Dans cet exemple, PUBLIC_ANYBODY
( disponible en tant que import.meta.env.PUBLIC_ANYBODY
) sera accessible à la fois dans le code cÎté serveur et cÎté client, alors que SECRET_PASSWORD
( disponible en tant que import.meta.env.SECRET_PASSWORD
) ne sera accessible que cÎté serveur.
Variables dâenvironnement par dĂ©faut
Section titled Variables dâenvironnement par dĂ©fautAstro inclut quelques variables dâenvironnement par dĂ©faut :
import.meta.env.MODE
(development
|production
): Représente le mode dans lequel le site tourne actuellement. Défini commedevelopment
en utilisant la commandeastro dev
et Ăproduction
en utilisantastro build
.import.meta.env.BASE_URL
(string
): ReprĂ©sente lâURL de base sous laquelle votre site est dĂ©ployĂ©. DĂ©terminĂ© par lâoptionbase
dans votre configuration.import.meta.env.PROD
(boolean
): Si votre site tourne en mode âproductionâ.import.meta.env.DEV
(boolean
): Si votre site tourne en mode âdevelopmentâ (toujours opposĂ© Ă la valeur deimport.meta.env.PROD
).import.meta.env.SITE
(string
): Lâoptionsite
dans votre configuration spécifié dans le fichierastro.config.mjs
de votre projet.
DĂ©finir des variables dâenvironnement
Section titled DĂ©finir des variables dâenvironnementLes variables dâenvironnement peuvent ĂȘtre chargĂ©es depuis les fichiers .env
dans le répertoire de votre projet.
Vous pouvez aussi ajouter/attacher un mode (soit production
ou development
) en suffixe au nom du fichier, comme .env.production
ou .env.development
, qui rendent ces variables dâenvironnement uniquement actives dans ce mode.
Créez un fichier .env
dans le répertoire de votre projet et ajoutez quelques variables à ce fichier.
Obtenir des variables dâenvironnement
Section titled Obtenir des variables dâenvironnementAu lieu dâutiliser process.env
, avec Vite, vous utilisez import.meta.env
, qui utilise la fonctionnalité import.meta
ajoutée dans ES2020.
Par exemple, utilisez import.meta.env.PUBLIC_POKEAPI
pour obtenir la variable dâenvironnement PUBLIC_POKEAPI
.
Ne vous inquiétez pas si votre navigateur ne supporte pas import.meta.env
, Vite remplace toutes les mentions de import.meta.env
par des valeurs statiques.
â ïžATTENTIONâ ïž : Ătant donnĂ© que Vite remplace statiquement
import.meta.env
, vous ne pouvez pas y accéder avec des clés dynamiques commeimport.meta.env[key]
.
Autocomplétion pour TypeScript
Section titled Autocomplétion pour TypeScriptPar défaut, Vite fournit des définitions de type pour import.meta.env
dans vite/client.d.ts
.
Vous pouvez aussi dĂ©finir dâautres variables dâenvironnement dans les fichiers .env.[mode]
, mais vous voulez sĂ»rement accĂ©der Ă lâautocomplĂ©tion pour les variables dâenvironnement dĂ©finies par lâutilisateur qui commencent par PUBLIC_
.
Pour faire cela, vous pouvez créer un fichier env.d.ts
dans le répertoire src/
, puis Ă©tendre ImportMetaEnv
comme ceci :