Configurer Astro
Personnalisez le fonctionnement dâAstro en ajoutant un fichier astro.config.mjs
dans votre projet. Câest un fichier commun dans les projets Astro, et tous les exemples officiels de modĂšles et de thĂšmes sont livrĂ©s avec un fichier par dĂ©faut.
đ Lisez la doc de rĂ©fĂ©rence de lâAPI dâAstro (EN) pour une vue dâensemble de toutes les options de configuration supportĂ©es.
Le Fichier de Configuration dâAstro
Titre de la section Le Fichier de Configuration dâAstroUn fichier de configuration Astro valide exporte sa configuration en utilisant lâexport default
, en utilisant lâaide defineConfig
recommandée :
import { defineConfig } from 'astro/config'
export default defineConfig({ // vos options de configuration ici... // https://docs.astro.build/fr/reference/configuration-reference/})
Lâutilisation de defineConfig()
est recommandĂ© pour obtenir lâaide sur les types utilisĂ©s dans votre Ă©diteur de code (IDE), mais elle est aussi optionnelle. Un fichier de configuration minimal valide pourrait ressembler à ça :
// Exemple : Fichier de configuration minimal, videexport default {}
Types de Fichier de Configuration Supportés
Titre de la section Types de Fichier de Configuration SupportésAstro supporte plusieurs formats de fichiers pour son fichier de configuration JavaScript : astro.config.js
, astro.config.mjs
, astro.config.cjs
et astro.config.ts
. Nous recommandons dâutiliser .mjs
dans la plupart des cas oĂč .ts
si vous voulez écrire du TypeScript dans votre fichier de configuration.
Le chargement du fichier de configuration TypeScript est géré par tsm
respectera les options tsconfig de votre projet.
Résolution du fichier de configuration
Titre de la section Résolution du fichier de configurationAstro va automatiquement essayer de résoudre un fichier de configuration nommé astro.config.mjs
Ă la racine du projet. Si aucun fichier de configuration nâest trouvĂ© Ă la racine de votre projet, les options par dĂ©faut dâAstro seront utilisĂ©es.
# Exemple : Lit votre configuration Ă partir de ./astro.config.mjsastro build
Vous pouvez explicitement dĂ©finir un fichier de configuration Ă utiliser avec lâoption --config
depuis lâinterface de commande en ligne CLI. Cette option est toujours relative au rĂ©pertoire de travail actuel dans lequel vous avez lancĂ© la commande astro
.
# Exemple : Lit votre configuration Ă partir de ce fichierastro build --config mon-fichier-config.js
Autocomplétion de configuration
Titre de la section AutocomplĂ©tion de configurationAstro recommande dâutiliser lâaide defineConfig()
dans votre fichier de configuration. defineConfig()
fournit une autocomplĂ©tion automatique dans votre IDE. Les Ă©diteurs comme VSCode sont capables de lire les dĂ©finitions de type TypeScript dâAstro et de fournir des indications de type JSDoc automatiques, mĂȘme si votre fichier de configuration nâest pas Ă©crit en TypeScript.
import { defineConfig } from 'astro/config'
export default defineConfig({ // vos options de configuration ici... // https://docs.astro.build/fr/reference/configuration-reference/})
Vous pouvez également fournir des définitions de type manuellement à VSCode, en utilisant cette notation JSDoc :
export default /** @type {import('astro').AstroUserConfig} */ ({ // vos options de configuration ici... // https://docs.astro.build/fr/reference/configuration-reference/}
Référencement des fichiers relatifs
Titre de la section Référencement des fichiers relatifsSi vous fournissez un chemin relatif à root
ou Ă lâoption --root
, Astro rĂ©soudera ce chemin par rapport au rĂ©pertoire de travail actuel oĂč vous avez lancĂ© la commande astro
.
import { defineConfig } from 'astro/config'
export default defineConfig({ // Cherches vers le répertoire "./foo" dans le répertoire de travail actuel root: 'foo'})
Astro va chercher toutes les autres chaßnes relatives de fichiers et de répertoires par rapport à la racine du projet :
import { defineConfig } from 'astro/config'
export default defineConfig({ // Se dirige vers le répertoire "./foo" dans le répertoire de travail actuel root: 'foo', // Se dirige vers le répertoire "./foo/public" dans le répertoire de travail actuel publicDir: 'public',})
Pour référencer un fichier ou un répertoire relatif au fichier de configuration, utilisez import.meta.url
(sauf si vous écrivez un fichier common.js astro.config.cjs
).
import { defineConfig } from 'astro/config'
export default defineConfig({ // Se dirige vers le répertoire "./foo", relatif à ce fichier de configuration root: new URL("./foo", import.meta.url).toString(), // Se dirige vers le répertoire "./public", relatif à ce fichier de configuration publicDir: new URL("./public", import.meta.url).toString(),})
Personnalisation des noms de fichiers de sortie
Titre de la section Personnalisation des noms de fichiers de sortiePour le code quâAstro traite, comme les fichiers JavaScript ou CSS importĂ©s, vous pouvez personnaliser les noms de fichiers de sortie en utilisant entryFileNames
(EN), chunkFileNames
(EN), et assetFileNames
(EN) dans une entrée vite.build.rollupOptions
de votre fichier astro.config.*
.
import { defineConfig } from 'astro/config'
export default defineConfig({ vite: { build: { rollupOptions: { output: { entryFileNames: 'entry.[hash].mjs', chunkFileNames: 'chunks/chunk.[hash].mjs', assetFileNames: 'assets/asset.[hash][extname]', }, }, }, },})
Cela peut ĂȘtre utile si vous avez des scripts dont les noms peuvent ĂȘtre affectĂ©s par des bloqueurs de publicitĂ© (par exemple ads.js
ou google-tag-manager.js
).
Variables dâEnvironment
Titre de la section Variables dâEnvironmentAstro Ă©value les fichiers de configuration avant de charger vos autres fichiers. Ainsi, vous ne pouvez pas utiliser import.meta.env
pour accĂ©der aux variables dâenvironnement qui ont Ă©tĂ© dĂ©finies dans les fichiers .env
.
Vous pouvez utiliser process.env
dans un fichier de configuration pour accĂ©der Ă dâautres variables dâenvironnement, comme celles dĂ©finies par le CLI.
Vous pouvez Ă©galement utiliser lâaide loadEnv
de Vite (EN) pour charger manuellement les fichiers .env
.
import { loadEnv } from "vite";const { SECRET_PASSWORD } = loadEnv(process.env.NODE_ENV, process.cwd(), "");
Référence de configuration
Titre de la section RĂ©fĂ©rence de configurationđ Lisez la documentation de rĂ©fĂ©rence sur la configuration de lâAPI dâAstro (EN) pour une vue dâensemble des options de configuration supportĂ©es.