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

使用adapter-static构建Svelte SPA部署SharePoint遇404问题求助

解决方案

1. 同步SvelteKit核心配置与adapter-static的base路径

仅配置adapter的base是不够的,需要同时在kit.paths中设置相同的base值,这样生成的所有静态资源路径才会统一遵循相对路径规则。修改svelte.config.js如下:

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

/** @type {import('@sveltejs/kit').Config} */
const config = {
	kit: {
		paths: {
			// 若部署在SharePoint子站点,替换为子站点的相对路径,比如'/sites/your-project/'
			base: './'
		},
		adapter: adapter({
			pages: 'build',
			assets: 'build',
			fallback: '200.html',
			base: './'
		})
	}
};

export default config;

2. 统一内部路由与资源引用的相对路径规范

  • 前端路由跳转避免使用绝对路径(如/about),改用相对路径写法(如../about);
  • 静态资源(图片、自定义样式)优先使用$lib别名或相对路径引用,禁止以/开头的绝对路径。

3. 配置SharePoint的路由回退规则

SharePoint静态托管环境需要将所有路由请求重定向到200.html,才能支持SPA的前端路由:

  • 进入SharePoint站点设置,找到网站设置 > 错误页面;
  • 将404错误页面指向你部署的200.html完整路径(比如/sites/your-site/200.html)。

4. 重新构建并验证资源路径

执行npm run build后,检查build/_app/immutable/下的JS文件,确认其中的资源引用均为./开头的相对路径。若仍存在绝对路径,排查是否有第三方库硬编码路径,可通过vite.config.js的resolve.alias配置修正。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:45:55