前言
Svelte,一個語法簡潔、入門容易,面向未來的前端框架。
從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1:

Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。
為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文文檔站點。
如果需要進階學習,也可以入手我的小冊《Svelte 開發指南》,語法篇、實戰篇、原理篇三大篇章帶你係統掌握 Svelte!
歡迎圍觀我的“網頁版朋友圈”、加入“冴羽·成長陪伴社羣”,踏上“前端大佬成長之路”。
構建您的應用
構建 SvelteKit 應用程序分為兩個階段,這兩個階段都發生在您運行 vite build(通常通過 npm run build)時。
首先,Vite 會為您的服務端代碼、瀏覽器代碼和 service worker(如果有的話)創建優化的生產構建。如果合適,預渲染會在此階段執行。
其次,適配器(adapter) 會對這個生產構建進行調整,使其適合目標環境 — 更多內容將在接下來的頁面中介紹。
構建過程中
SvelteKit 會在構建過程中加載您的 +page/layout(.server).js 文件(以及它們導入的所有文件)進行分析。
任何在此階段不應該被執行的代碼必須通過檢查 $app/environment 的 building 是否為 false:
+++import { building } from '$app/environment';+++
import { setupMyDatabase } from '$lib/server/database';
+++if (!building) {+++
setupMyDatabase();
+++}+++
export function load() {
// ...
}
預覽您的應用
構建完成後,您可以通過 vite preview(通過 npm run preview)在本地查看您的生產構建。請注意,這將在 Node 中運行應用程序,因此無法完美復現您部署的應用程序 — 適配器特定的調整(如 platform 對象)不適用於預覽。
適配器
在部署 SvelteKit 應用之前,您需要為您的部署目標進行適配。適配器是一些小型插件,它們接收構建好的應用作為輸入,並生成用於部署的輸出。
官方為多個平台提供了適配器 — 這些在以下頁面中有詳細文檔:
@sveltejs/adapter-cloudflare用於 Cloudflare Pages@sveltejs/adapter-cloudflare-workers用於 Cloudflare Workers@sveltejs/adapter-netlify用於 Netlify@sveltejs/adapter-node用於 Node 服務器@sveltejs/adapter-static用於靜態站點生成 (SSG)@sveltejs/adapter-vercel用於 Vercel
還有社區提供的適配器用於其他平台。
使用適配器
您的適配器在 svelte.config.js 中指定:
/// file: svelte.config.js
// @filename: ambient.d.ts
declare module 'svelte-adapter-foo' {
const adapter: (opts: any) => import('@sveltejs/kit').Adapter;
export default adapter;
}
// @filename: index.js
// ---cut---
import adapter from 'svelte-adapter-foo';
/** @type {import('@sveltejs/kit').Config} */
const config = {
kit: {
adapter: adapter({
// 適配器選項在這裏
})
}
};
export default config;
平台特定上下文
某些適配器可能可以訪問關於請求的額外信息。例如,Cloudflare Workers 可以訪問包含 KV 命名空間等的 env 對象。這可以作為 platform 屬性傳遞給在hooks和服務端路由中使用的 RequestEvent — 查看每個適配器的文檔以瞭解更多信息。
零配置部署
當您使用 npx sv create 創建一個新的 SvelteKit 項目時,它默認會安裝 adapter-auto。這個適配器會在您部署時自動安裝並使用支持環境的適配器:
@sveltejs/adapter-cloudflare用於 Cloudflare Pages@sveltejs/adapter-netlify用於 Netlify@sveltejs/adapter-vercel用於 Vercelsvelte-adapter-azure-swa用於 Azure Static Web Appssvelte-kit-sst用於 通過 SST 部署到 AWS@sveltejs/adapter-node用於 Google Cloud Run
建議您一旦確定了目標環境,就將相應的適配器安裝到您的 devDependencies 中,因為這將把適配器添加到您的 lockfile 中,並略微改善 CI 上的安裝時間。
特定環境的配置
要添加配置選項,比如在 adapter-vercel 和 adapter-netlify 中的 { edge: true },您必須安裝底層適配器 — adapter-auto 不接受任何選項。
添加社區適配器
您可以通過編輯 adapters.js 並提交 PR 來添加對其他適配器的零配置支持。
Svelte 中文文檔
點擊查看中文文檔 - SvelteKit 構建和部署。
系統學習 Svelte,歡迎入手小冊《Svelte 開發指南》。語法篇、實戰篇、原理篇三大篇章帶你係統掌握 Svelte!
此外我還寫過 JavaScript 系列、TypeScript 系列、React 系列、Next.js 系列、冴羽答讀者問等 14 個系列文章, 全系列文章目錄:https://github.com/mqyqingfeng/Blog
歡迎圍觀我的“網頁版朋友圈”、加入“冴羽·成長陪伴社羣”,踏上“前端大佬成長之路”。