Aller au contenu

Commandes CLI

Vous pouvez utiliser l’interface en ligne de commande (CLI) fournie par Astro pour développer, construire et prévisualiser votre projet à partir d’une fenêtre de terminal.

Utilisez le CLI en exécutant l’une des commandes documentées sur cette page avec votre gestionnaire de paquets préféré, suivie éventuellement de toutes les options. Les options personnalisent le comportement d’une commande.

L’une des commandes que vous utiliserez le plus souvent est astro dev. Cette commande démarre le serveur de développement et vous donne un aperçu votre site mis à jour en direct dans un navigateur pendant que vous travaillez :

Fenêtre de terminal
# démarre le serveur de développement
npx astro dev

Vous pouvez taper astro --help dans votre terminal pour afficher une liste de toutes les commandes disponibles :

Fenêtre de terminal
npx astro --help

Le message suivant s’affichera dans votre terminal :

Fenêtre de terminal
astro [commande] [...options]
Commands
add Add an integration.
build Build your project and write it to disk.
check Check your project for errors.
dev Start the development server.
docs Open documentation in your web browser.
info List info about your current Astro setup.
preview Preview your build locally.
sync Generate content collection types.
preferences Configure user preferences.
telemetry Configure telemetry settings.
Global Flags
--config <path> Specify your config file.
--root <path> Specify your project root folder.
--site <url> Specify your project site.
--base <pathname> Specify your project base.
--verbose Enable verbose logging.
--silent Disable all logging.
--version Show the version number and exit.
--open Open the app in the browser on server start.
--help Show this help message.

Vous pouvez également utiliser des scripts dans package.json pour des versions plus courtes de ces commandes. L’utilisation d’un script vous permet d’utiliser les mêmes commandes avec lesquelles vous pourriez être familier dans d’autres projets, telles que npm run build.

Pour les commandes astro les plus courantes (astro dev, astro build et astro preview), les scripts suivants sont ajoutés automatiquement lorsque vous créez un projet en utilisant l’assistant d’installation create astro.

Lorsque vous suivez les instructions pour installer Astro manuellement, vous êtes invité à ajouter vous-même ces scripts. Vous pouvez également ajouter manuellement d’autres scripts à cette liste pour toute commande que vous utilisez fréquemment.

package.json
{
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview"
}
}

Vous utiliserez souvent ces commandes astro, ou les scripts qui les exécutent, sans aucune option. Ajoutez des options à la commande lorsque vous souhaitez personnaliser le comportement de la commande. Par exemple, vous souhaitez peut-être démarrer le serveur de développement sur un port différent ou Build votre site en incluant les pages de brouillon.

Fenêtre de terminal
# lance le serveur de développement sur le port 8080 en utilisant le script `start` dans `package.json`
npm run start -- --port 8080
# Build votre site en incluant les pages de brouillon en utilisant le script `build` dans `package.json`
npm run build -- --drafts

Lance le serveur de développement d’Astro. Il s’agit d’un serveur HTTP local qui ne regroupe pas les fichiers et les ressources. Il utilise le Remplacement de Modules à Chaud (HMR) pour mettre à jour votre navigateur lorsque vous enregistrez des modifications dans votre éditeur.

Compile votre site pour le déploiement. Par défaut, cela générera des fichiers statiques et les placera dans un répertoire dist/. Si le SSR est activé, cela générera les fichiers serveur nécessaires à votre site.

Peut être combiné avec les options courantes documentées ci-dessous.

Démarre un serveur local pour servir votre répertoire statique dist/.

Cette commande est utile pour prévisualiser votre Build localement avant de le déployer. Elle n’est pas conçue pour être exécutée en production. Pour obtenir de l’aide sur l’hébergement en production, consultez notre guide sur Déployer un site Astro.

Depuis Astro 1.5.0, astro preview fonctionne également pour les Builds SSR si vous utilisez un adaptateur qui le supporte. Actuellement, seul l’adaptateur Node prend en charge astro preview.

Peut être combiné avec les options courantes documentées ci-dessous.

Lance les diagnostics (comme la vérification de type dans les fichiers .astro) sur votre projet et signale les erreurs à la console. Si des erreurs sont trouvées, le processus se terminera avec un code de 1.

Cette commande est destinée à être utilisée dans un processus d’intégration continue.

Options

Utilisez ces options pour personnaliser le comportement d’une commande.

La commande surveillera toute modification apportée aux fichiers .astro et signalera toute erreur.

En savoir plus sur le support de TypeScript dans Astro.

Ajouté à la version : astro@2.0.0

Génère des types TypeScript pour tous les modules Astro. Cela configure un fichier src/env.d.ts pour l’inférence de type et définit le module astro:content pour l’API de Collections de Contenu.

Ajoute une intégration à votre configuration. En savoir plus dans le guide des intégrations.

Lance directement le site web Astro Docs depuis le terminal.

Rapporte des informations utiles sur votre environnement Astro actuel. Utile pour fournir des informations lors de l’ouverture d’un problème.

Fenêtre de terminal
astro info

Exemple de sortie :

Astro v3.0.12
Node v20.5.1
System macOS (arm64)
Package Manager pnpm
Output server
Adapter @astrojs/vercel/serverless
Integrations none

Gérer les préférences des utilisateurs avec la commande astro preferences. Les préférences utilisateur sont spécifiques à chaque utilisateur d’Astro, contrairement au fichier astro.config.mjs qui modifie le comportement de toutes les personnes travaillant sur un projet.

Par défaut, les préférences de l’utilisateur sont limitées au projet en cours, et sont stockées dans un fichier local .astro/settings.json..

En utilisant l’option --global, les préférences utilisateur peuvent aussi être appliquées à tous les projets Astro sur la machine courante. Les préférences utilisateur globales sont stockées dans un emplacement spécifique au système d’exploitation.

Par exemple, pour désactiver la devToolbar dans un projet Astro spécifique :

Fenêtre de terminal
astro preferences disable devToolbar

Pour désactiver la devToolbar dans tous les projets Astro sur la machine actuelle :

Fenêtre de terminal
astro preferences disable --global devToolbar

La devToolbar peut ensuite être activée avec :

Fenêtre de terminal
astro preferences enable devToolbar

La commande reset réinitialise une préférence à sa valeur par défaut :

Fenêtre de terminal
astro preferences reset devToolbar

La commande list affiche les paramètres actuels de toutes les préférences utilisateur configurables. Elle supporte également une sortie --json lisible par la machine.

Fenêtre de terminal
astro preferences list

Configure la télémétrie pour l’utilisateur actuel du CLI. La télémétrie est une donnée anonyme qui fournit à l’équipe Astro des informations sur les fonctionnalités Astro les plus souvent utilisées. Pour en savoir plus, voir la page télémetrie d’Astro’.

La télémétrie peut être désactivée avec cette commande CLI :

Fenêtre de terminal
astro telemetry disable

La télémétrie peut être réactivée ultérieurement avec :

Fenêtre de terminal
astro telemetry enable

La commande reset réinitialise les données de télémétrie :

Fenêtre de terminal
astro telemetry reset

Spécifie le chemin de la racine du projet. Si aucun chemin n’est spécifié, le répertoire de travail actuel est considéré comme la racine.

La racine est utilisée pour trouver le fichier de configuration Astro.

Fenêtre de terminal
astro --root monDossierRacine/monDossierProjet dev

Spécifie le chemin du fichier de configuration par rapport à la racine du projet. Il est défini par défaut à astro.config.mjs. Utilisez cette option si vous utilisez un nom différent pour votre fichier de configuration ou si votre fichier de configuration est dans un autre dossier.

Fenêtre de terminal
astro --config config/astro.config.mjs dev

Ajouté à la version : astro@3.3.0

Configure le outDir pour votre projet. Passer cette option remplacera la valeur de outDir dans votre fichier astro.config.mjs, s’il en existe un.

Configure le site pour votre projet. Utiliser cette option remplacera, si elle existe, la valeur site de votre fichier astro.config.mjs.

Ajouté à la version : astro@1.4.1

Configure la base de votre projet. Utiliser cette option remplacera, si elle existe, la valeur base de votre fichier astro.config.mjs.

Spécifie le port sur lequel le serveur de développement et le serveur de prévisualisation doivent être exécutés. La valeur par défaut est 4321.

Définit les adresses IP du réseau sur lesquelles le serveur de développement et le serveur de prévisualisation doivent écouter (c.-à-d. les adresses IP non locales). Cela peut être utile pour tester votre projet sur des appareils locaux comme un téléphone portable pendant le développement.

  • --host — écoute sur toutes les adresses, y compris les adresses LAN et publiques
  • --host <adresse personnalisée> - écoute sur une adresse IP du réseau à <adresse personnalisée>.

Active les journaux verbeux, ce qui est utile pour déboguer un problème.

Active les journaux silencieux, ce qui lance le serveur sans aucune sortie dans la console.

Utilisez ces options pour obtenir des informations à propos du CLI astro.

Affiche le numéro de version d’Astro et quitte.

Ouvre automatiquement l’application dans le navigateur au démarrage du serveur.

Affiche le message d’aide et quitte.

Si vous avez besoin de plus de contrôle lors de l’exécution d’Astro, le paquet "astro" exporte également des API pour exécuter par programme les commandes CLI.

Ces API sont expérimentales et leur signature peuvent changer. Toute mise à jour sera mentionnée dans le Astro changelog et les informations ci-dessous montreront toujours les informations actuelles et à jour.

Le type AstroInlineConfig est utilisé par toutes les API de commande ci-dessous. Il s’étend à partir du type utilisateur Astro config :

interface AstroInlineConfig extends AstroUserConfig {
configFile?: string | false;
mode?: "development" | "production";
logLevel?: "debug" | "info" | "warn" | "error" | "silent";
}

Type: string | false
Défaut: undefined

Un chemin personnalisé vers le fichier de configuration d’Astro.

Si cette valeur est indéfinie (par défaut) ou non définie, Astro recherchera un fichier astro.config.(js,mjs,ts) relatif à la root et chargera le fichier de configuration s’il est trouvé.

Si un chemin relatif est défini, il sera résolu en fonction du répertoire de travail courant.

Mettre false pour désactiver le chargement de tout fichier de configuration.

La configuration en ligne passée dans cet objet sera prioritaire lors de la fusion avec la configuration utilisateur chargée.

Type: "development" | "production"
Défaut: "development" lors de l’exécution de astro dev, "production" lors de l’exécution de astro build

Le mode utilisé lors de la construction de votre site pour générer du code “developpement” ou “production”.

Type: "debug" | "info" | "warn" | "error" | "silent"
Défaut: "info"

Le niveau de journalisation pour filtrer les messages enregistrés par Astro.

  • "debug": Enregistre tout, y compris les diagnostics de débogage.
  • "info": Enregistre les messages d’information, les avertissements et les erreurs.
  • "warn": Enregistre les avertissements et les erreurs.
  • "error": Ne consigne que les erreurs.
  • "silent": Pas de journalisation.

Type: (inlineConfig: AstroInlineConfig) => AstroDevServer

Similaire à astro dev, il fait tourner le serveur de développement d’Astro.

import { dev } from "astro";
const devServer = await dev({
root: "./my-project",
});
// Arrêter le serveur si nécessaire
await devServer.stop();

Type: (inlineConfig: AstroInlineConfig) => void

Similaire à astro build, il construit votre site pour le deploiement.

import { build } from "astro";
await build({
root: "./my-project",
});

Type: (inlineConfig: AstroInlineConfig) => AstroPreviewServer

Similaire à astro preview, il démarre un serveur local pour servir votre répertoire statique dist/.

import { preview } from "astro";
const previewServer = await preview({
root: "./my-project",
});
// Arrêter le serveur si besoin
await previewServer.stop();

Type: (inlineConfig: AstroInlineConfig) => number

Similaire à astro sync, il génère des types TypeScript pour tous les modules Astro.

import { sync } from "astro";
const exitCode = await sync({
root: "./my-project",
});
process.exit(exitCode)

S’authentifier avec Astro Studio. Cette action est nécessaire pour exécuter toutes les commandes de gestion de base de données, y compris astro link.

Lien vers votre base de données hébergée dans Studio. Ce lien est nécessaire pour exécuter les commandes Astro DB pour la gestion de la base de données. Pour lier une base de données, vous serez invité à sélectionner une base de données existante ou à en créer une nouvelle.

Déconnectez-vous d’Astro Studio et supprimez toutes les clés d’authentification stockées localement.