默认环境下,Astro 使用零客户端 JavaScript 天生每个网站。使用使用 React、Preact、Svelte、Vue、SolidJS、AlpineJS或 Lit构建的前端 UI 组件,Astro 会自动提前将其渲染为 HTML,然后删除全部 JavaScript。 默认环境下,这通过从页面中删除全部未使用的 JavaScript 来保持每个站点的快速。
---// Example: Use a static React component on the page, without JavaScript.import MyReactComponent from '../components/MyReactComponent.jsx';---<!-- 100% HTML, Zero JavaScript loaded on the page! --><MyReactComponent />但偶尔,创建交互式 UI 必要客户端 JavaScript。Astro 不会逼迫您的整个页面成为雷同 SPA 的 JavaScript 应用步伐,而是要求您创建一个孤岛。
---// Example: Use a dynamic React component on the page.import MyReactComponent from '../components/MyReactComponent.jsx';---<!-- This component is now interactive on the page! The rest of your website remains static and zero JS. --><MyReactComponent client:load />使用Astro Islands,您网站的绝大多数内容仍然是纯的,轻量级的HTML和CSS。在上面的示例中,您刚刚添加了一个孤立的交互性孤岛,而没有更改页面的别的部门。
长处