Aller au contenu

Cette intégration Astro (EN) ajoute Alpine.js à votre projet afin que vous puissiez utiliser Alpine.js n'importe où sur votre page.

Installation

Astro inclut une commande astro add pour automatiser l'installation des intégrations officielles. Si vous préférez, vous pouvez installer les intégrations manuellement à la place.

Pour installer @astrojs/alpinejs, exécutez ce qui suit depuis le répertoire de votre projet et suivez les instructions :

 npx astro add alpinejs

Si vous rencontrez des problèmes, n'hésitez pas à nous les signaler sur GitHub et essayez les étapes d'installation manuelle ci-dessous.

Installation manuelle

Tout d'abord, installez le paquet @astrojs/alpinejs.

 npm install @astrojs/alpinejs

La plupart des gestionnaires de paquets installent également les dépendances associées. Cependant, si vous voyez un avertissement Cannot find package 'alpinejs' (ou similaire) lorsque vous démarrez Astro, vous devrez installer manuellement Alpine.js vous-même :

 npm install alpinejs @types/alpinejs

Ensuite, appliquez l'intégration à votre fichier astro.config.* en utilisant la propriété integrations :

import { defineConfig } from 'astro/config';
import alpinejs from '@astrojs/alpinejs';

export default defineConfig({
  // ...
  integrations: [alpinejs()],
});

Options de configuration

entrypoint

Type : string

Ajouté à la version : @astrojs/alpinejs@0.4.0

Vous pouvez étendre Alpine en définissant l'option entrypoint sur un spécificateur d'importation relatif à la racine (par exemple entrypoint: "/src/entrypoint").

L'exportation par défaut de ce fichier doit être une fonction qui accepte une instance Alpine avant de démarrer. Cela permet d'utiliser des directives personnalisées, des modules d'extension et d'autres personnalisations pour des cas d'utilisation avancés.

import { defineConfig } from 'astro/config';
import alpinejs from '@astrojs/alpinejs';

export default defineConfig({
  // ...
  integrations: [alpinejs({ entrypoint: '/src/entrypoint' })],
});
import type { Alpine } from 'alpinejs'
import intersect from '@alpinejs/intersect'

export default (Alpine: Alpine) => {
    Alpine.plugin(intersect)
}

Utilisation

Une fois l'intégration installée, vous pouvez utiliser les directives et la syntaxe Alpine.js dans n'importe quel composant Astro. Le script Alpine.js est automatiquement ajouté et activé sur chaque page de votre site web, aucune directive client n'est donc nécessaire. Ajoutez les scripts du module d'extension dans la balise <head> de la page.

L'exemple suivant ajoute le module d'extension Collapse d'Alpine pour développer et réduire le texte d'un paragraphe.

---
---
<html>
	<head>
		<!-- ... -->
		<script defer src="https://cdn.jsdelivr.net/npm/@alpinejs/collapse@3.x.x/dist/cdn.min.js"></script>
	</head>
	<body>
    <!-- ... -->
		<div x-data="{ expanded: false }">
			<button @click="expanded = ! expanded">Afficher/Masquer le contenu</button>

			<p id="foo" x-show="expanded" x-collapse>
        Lorem ipsum
			</p>
		</div>
	</body>
</html>

Intellisense pour TypeScript

L'intégration @astrojs/alpine ajoute Alpine à l'objet global de la fenêtre. Pour l'autocomplétion de l'IDE, ajoutez ce qui suit à votre src/env.d.ts :

interface Window {
  Alpine: import('alpinejs').Alpine;
}

Exemples

Plus d'intégrations

Framework d'interface utilisateur

Adaptateurs SSR

Autres intégrations

Contribuer Communauté Parrainer