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

如何阻止@sveltejs/adapter-cloudflare暴露服务器端Sourcemap?

解决Cloudflare Pages上SvelteKit服务器端Sourcemap暴露问题

方案一:完全禁用服务器端Sourcemap生成

修改项目根目录的svelte.config.js,在Vite构建配置中明确关闭服务器端的sourcemap生成:

import adapter from '@sveltejs/adapter-cloudflare';
import { vitePreprocess } from '@sveltejs/kit/vite';

const config = {
  preprocess: vitePreprocess(),
  kit: {
    adapter: adapter(),
    vite: {
      build: {
        sourcemap: {
          client: true, // 按需保留客户端sourcemap,不需要也可设为false
          server: false // 关键:禁用服务器端sourcemap
        }
      }
    }
  }
};

export default config;

这样构建时就不会生成_worker.js.map,从根源解决代码暴露问题。

方案二:禁止公开访问Sourcemap文件

如果需要保留sourcemap用于内部调试,可通过路由规则阻止外部访问:

  1. 在项目根目录创建_routes.json文件,添加以下配置:
{
  "version": 1,
  "include": ["/*"],
  "exclude": ["/_worker.js.map"]
}

提交该文件到GitHub,下次Cloudflare自动构建后,外部访问_worker.js.map会返回404。
2. 也可直接在Cloudflare Dashboard操作:进入对应Pages项目 → 「设置」→ 「路由规则」→ 添加规则,匹配路径/_worker.js.map,设置行为为「返回403禁止访问」或「返回404未找到」。

关于wrangler.toml设置无效的说明

你之前尝试的upload_source_maps = false是Wrangler CLI部署时的配置,而Cloudflare Pages通过GitHub推送触发的自动构建流程,不会读取项目中的wrangler.toml,因此该配置不生效,需使用上述适配Pages的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:37:02