Der vielleicht wichtigste Grund, warum ich Astro liebe, ist, dass es die Erfahrung der JavaScript-Komponentenentwicklung in die Welt der statischen Website-Generatoren bringt, und zwar mit null JavaScript (außer für Teile, auf die man ganz bewusst verzichtet). Dieser HTML-first-Ansatz ist auch der Grund, warum ich Eleventy mag. Nur, dass ich, so großartig Eleventy auch ist, lieber mit moderneren Komponenten und moderneren Vorlagen arbeiten würde. Außerdem mag ich den Zugriff auf Build-Time-JavaScript in Astro-Komponenten, den ich jederzeit zur Verfügung habe.
Aber was wäre, wenn Eleventy auch JavaScript-Vorlagen anbieten würde? Nun, das tut es irgendwie – es gibt ein Plugin eleventy-plugin-vue (offiziell), das auf dem besten Weg dorthin ist. Aber hier ist eine weitere Idee von Ben Holmes: Slinkity. Ich zitiere die Stichpunkte
- 🚀 Ermöglicht Frameworks für Komponenten (React, Vue und Svelte) zum Schreiben von Seiten- und Layoutvorlagen. So können Sie eine vorhandene `.html`- oder `.liquid`-Datei in eine `.jsx`-Datei umwandeln und sofort mit dem Erstellen von Routen auf Ihrer Website mit React beginnen.
- 🔖 Enthält leistungsstarke Shortcodes zum Einfügen von Komponenten in vorhandene Seiten. Fügen Sie eine Zeile wie diese zu Ihrem Markdown, HTML, Nunjucks usw. hinzu und sehen Sie zu, wie die Magie geschieht:
{% react './path/to/component.jsx' %}- 💧 Hydriert diese komponentengesteuerten Seiten auf dem Client. Mit anderen Worten, Ihre gesamte dynamische Zustandsverwaltung funktioniert in Entwicklung und Produktion ohne zusätzlichen Einrichtungsaufwand.
- 🔗 (Optional) Verwandelt Ihre Website in eine Single Page App. Dies eröffnet die Tür für animierte Seitenübergänge, persistenten Zustand zwischen Seiten und mehr!
Es scheint, als würde es den Astro-Vibe nach Eleventy bringen. Es verwendet sogar Snowpack, das Build-Tool des Astro-Teams.