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

使用adapter-node部署SvelteKit时Immutable文件夹404问题求助

解决SvelteKit Node适配器部署时资源路径缺失/build/导致的404错误

问题原因

你的应用部署在服务器的/var/www/websitename.com/html/build/目录下,但SvelteKit生成的资源链接未包含/build前缀,导致浏览器请求路径与实际文件位置不匹配,触发404错误。

解决方案

1. 配置paths.base指定基础路径

修改svelte.config.js,在kit选项中添加paths.base并设置为/build。这个参数会让SvelteKit自动为所有资源链接加上该前缀:

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

/** @type {import('@sveltejs/kit').Config} */
const config = {
    kit: {
        adapter: adapter({ out: 'build' }),
        paths: {
            base: '/build'
        }
    }
};

export default config;

2. 确认服务器静态资源映射(若用反向代理)

如果使用Nginx等反向代理,需配置正确映射/build路径到实际静态资源目录:

location /build {
    alias /var/www/websitename.com/html/build/client;
    try_files $uri $uri/ =404;
}

location / {
    proxy_pass http://localhost:3000; # 替换为你的Node服务运行端口
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

3. 重新构建部署

执行npm run build重新生成构建产物,将build目录上传到服务器对应路径,重启Node服务即可。

补充说明

adapter-node的out选项仅控制构建产物的输出目录,不会影响资源链接前缀的生成。资源路径前缀由kit.paths.base参数决定,这是解决此类路径匹配问题的核心配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:45:31