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

如何将Svelte及SvelteKit应用部署到本地Apache服务器并配置环境变量

SvelteKit 部署至XAMPP htdocs子目录配置方案

SvelteKit 未做特殊配置时默认按根路径规则构建,仅修改静态资源的href属性无法适配子目录部署场景,需按以下步骤调整配置:

1. 调整适配器选择

如果是部署纯前端静态站点,首先确认使用adapter-static适配器,若当前项目使用其他适配器可先执行安装:
npm install @sveltejs/adapter-static --save-dev

2. 修改svelte.config.js配置

修改项目根目录下的svelte.config.js文件,添加路径配置,从环境变量读取子目录路径:

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

/** @type {import('@sveltejs/kit').Config} */
const config = {
  kit: {
    adapter: adapter(),
    paths: {
      // 从环境变量读取子目录基础路径,本地开发时默认留空即可正常访问
      base: process.env.PUBLIC_SVELTEKIT_BASE || '',
    },
    // 配置统一添加末尾斜杠,避免Apache路由跳转异常
    trailingSlash: 'always'
  }
};

export default config;

3. 配置生产环境变量

在项目根目录新建.env.production文件,写入对应子目录路径参数,示例如下(将svelte-app替换为你在htdocs下创建的实际子文件夹名称):

PUBLIC_SVELTEKIT_BASE=/svelte-app

4. 执行构建并部署

运行构建命令自动加载生产环境变量完成构建:
npm run build
构建完成后将项目build目录下的所有文件复制到XAMPP的htdocs/svelte-app目录即可。

5. 可选:前端路由适配配置

如果项目使用了前端路由(如+page.js配置的路由),需要在子目录下新增.htaccess文件配置Apache重写规则,避免刷新页面404:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /svelte-app/
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /svelte-app/index.html [L]
</IfModule>

注意将上述代码中的/svelte-app/替换为你实际的子目录路径。

代码开发注意事项

所有代码中的静态资源引用、页面跳转路径都不要写死根路径,需引入$app/paths的base变量拼接路径,示例:

import { base } from '$app/paths';
// 图片引用路径示例
const imgPath = `${base}/assets/logo.png`;
// 页面跳转路径示例
const aboutPath = `${base}/about`;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:18:02