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

如何在Svelte中配合adapter-static生成Sourcemap?

解决SvelteKit使用adapter-static时构建不生成Sourcemap的问题

问题背景

已在vite.config.js中配置build.sourcemap为true,在svelte.config.js中设置compilerOptions.sourcemap为true,并使用adapter-static适配器,配置如下:

vite.config.js

import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';

export default defineConfig({
    plugins: [sveltekit()],
    build: {
        sourcemap: true
    }
});

svelte.config.js

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

/** @type {import('@sveltejs/kit').Config} */
const config = {
    kit: {
        adapter: adapter({
            pages: '../app/src/main/resources/static',
            assets: '../app/src/main/resources/static',
            fallback: null,
            precompress: false,
            strict: true
        })
    },
    compilerOptions: {
        sourcemap: true
    }
};

export default config;

执行npm run build后并未生成Sourcemap,怀疑与使用adapter-static有关。

解决方案

1. 在SvelteKit配置中显式开启构建sourcemap

SvelteKit生产构建默认会禁用sourcemap,即使Vite中配置了build.sourcemap: true也会被覆盖。需要在svelte.config.js的kit.build中显式开启:

/** @type {import('@sveltejs/kit').Config} */
const config = {
    kit: {
        adapter: adapter({ /* 你的适配器配置 */ }),
        build: {
            sourcemap: true // 新增此配置
        }
    },
    compilerOptions: {
        sourcemap: true
    }
};

2. 确认输出目录的正确性

检查适配器配置的pages和assets目标目录../app/src/main/resources/static,构建完成后该目录下应该会生成对应的.map文件,避免误找其他目录。

3. 验证配置生效逻辑

  • vite.config.js中的build.sourcemap负责Vite打包阶段的sourcemap生成
  • svelte.config.js的compilerOptions.sourcemap负责Svelte组件编译时的sourcemap
  • kit.build.sourcemap是SvelteKit层面的总开关,控制最终是否输出sourcemap,这是之前缺失的关键配置

完成以上修改后重新执行npm run build,即可生成对应的Sourcemap文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:16:00