跳转到内容

@astrojs/ svelte

这个 Astro 集成 为你的 Svelte 5 组件启用了渲染和客户端 hydration 功能。如果需要支持 Svelte 3 和 4,请安装 @astrojs/svelte@5

Astro 包含一个 astro add 命令来自动设置官方集成。如果你愿意,也可以手动安装集成

要安装 @astrojs/svelte,请在你的项目目录中运行以下命令并按照提示操作

终端窗口
npx astro add svelte

如果你遇到任何问题,请随时在 GitHub 上向我们报告,并尝试下面的手动安装步骤。

首先,安装 @astrojs/svelte

终端窗口
npm install @astrojs/svelte

大多数包管理器也会安装相关的对等依赖项。如果你在启动 Astro 时看到 Cannot find package 'svelte'(或类似)的警告,你需要安装 Svelte 和 TypeScript

终端窗口
npm install svelte typescript

然后,使用 integrations 属性将此集成应用到你的 astro.config.* 文件中:

astro.config.mjs
import { defineConfig } from 'astro/config';
import svelte from '@astrojs/svelte';
export default defineConfig({
// ...
integrations: [svelte()],
});

并在项目根目录中创建一个名为 svelte.config.js 的新文件,然后添加以下代码

svelte.config.js
import { vitePreprocess } from '@astrojs/svelte';
export default {
preprocess: vitePreprocess(),
}

要使用你的第一个 Svelte 组件,请前往我们的UI 框架文档。你将了解到

  • 📦 框架组件是如何加载的,
  • 💧 客户端注入选项,以及
  • 🤝 混合和嵌套不同框架的机会

该集成由 @sveltejs/vite-plugin-svelte 提供支持。要自定义 Svelte 编译器,可以向该集成提供选项。更多详情请参阅 @sveltejs/vite-plugin-svelte 文档

你可以在 astro.config.mjs 中将选项传递给 svelte 集成,或者在 svelte.config.js 中设置。如果两处都存在,astro.config.mjs 中的选项将优先于 svelte.config.js 中的选项。

astro.config.mjs
import { defineConfig } from 'astro/config';
import svelte from '@astrojs/svelte';
export default defineConfig({
integrations: [svelte({ extensions: ['.svelte'] })],
});
svelte.config.js
export default {
extensions: ['.svelte'],
};
新增于: @astrojs/svelte@2.0.0

如果你在 Svelte 文件中使用 SCSS 或 Stylus,你可以创建一个 svelte.config.js 文件,以便 Svelte 对它们进行预处理,并且 Svelte IDE 扩展可以正确解析 Svelte 文件。

svelte.config.js
import { vitePreprocess } from '@astrojs/svelte';
export default {
preprocess: vitePreprocess(),
};

当你运行 astro add svelte 时,此配置文件将自动为你添加。有关 vitePreprocess 的更多详情,请参阅 @sveltejs/vite-plugin-svelte 文档

更多集成

前端框架

适配器

其他集成

贡献 社区 赞助