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

Svelte项目部署LAMP环境疑问:build目录无入口文件是否正确?

SvelteKit 静态部署无入口文件问题解决

你的操作存在配置遗漏,导致build目录未生成正确的入口文件,具体问题和修复方案如下:

  • 必须添加预渲染配置
    使用adapter-static时,必须在src/routes/+layout.js(或+layout.ts)中添加:

    export const prerender = true;
    

    这条配置会告诉SvelteKit预渲染所有路由为静态HTML文件,缺失它的话,适配器不会生成完整的静态页面结构。

  • 检查实际输出路径
    默认构建产物会输出到build目录,但部分版本或自定义配置下,文件可能生成在.svelte-kit/output目录,先确认这个路径下是否有生成文件。

  • 补全完整配置示例
    正确的svelte.config.js应包含预处理器和必要的路径配置,示例如下:

    import adapter from "@sveltejs/adapter-static";
    import { vitePreprocess } from "@sveltejs/kit/vite";
    
    /** @type {import('@sveltejs/kit').Config} */
    const config = {
      preprocess: vitePreprocess(),
      kit: {
        adapter: adapter({
          fallback: '404.html' // LAMP环境下用于SPA路由回退
        }),
        paths: {
          base: '' // 若部署在子目录,需填写对应路径,如'/my-site'
        }
      },
    };
    
    export default config;
    
  • LAMP环境适配配置
    部署到Apache时,需在站点根目录创建.htaccess文件,添加路由重写规则:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /404.html [L]
    

    确保非静态文件的路由请求能回退到404.html,由SvelteKit客户端路由处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 17:13:10