You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SvelteKit adapter-static如何支持增量构建仅生成指定页面而非整站

SvelteKit 单路由/指定页面增量构建方案

目前完全可以实现仅构建指定页面的需求,以下是生产环境可用的成熟方案:

核心实现逻辑

SvelteKit 的预渲染配置支持动态指定需要构建的路由列表,无需每次全量生成所有页面:

  • 在 svelte.config.js 中读取环境变量传入的路由列表,赋值给 prerender.entries 配置项
  • 内容变更时,先计算出关联的页面路由,作为参数传入构建命令即可
  • 构建完成后仅覆盖更新对应页面的静态HTML文件,保留其余历史构建产物

配置示例

1. 调整svelte.config.js配置

import adapter from '@sveltejs/adapter-static';

/** @type {import('@sveltejs/kit').Config} */
const config = {
  kit: {
    adapter: adapter(),
    prerender: {
      // 未指定路由时默认全量构建,指定时仅构建传入的路由
      entries: process.env.BUILD_ROUTES 
        ? process.env.BUILD_ROUTES.split(',')
        : ['*']
    }
  }
};

export default config;

2. 执行增量构建

内容更新时,传入需要构建的路由即可,示例命令:

# 仅构建 /post/23、/news/102 两个页面
BUILD_ROUTES=/post/23,/news/102 npm run build

部署注意事项

  • 不要清空之前的构建输出目录,仅将本次新生成的HTML文件上传到服务器/CDN/托管平台
  • 动态路由(如 [slug].svelte)直接传入最终生成的实际路径即可正常渲染
  • 可搭配CDN的单路径刷新功能,仅清空更新页面的缓存,进一步缩短上线时间

内容的提问来源于stack exchange,提问作者obcomv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:15:08