修改最新版SvelteKit端口至3000时出现NotFound错误求助
解决SvelteKit改端口3000后出现
Not found: /app错误的方法 方法1:统一在配置文件中设置端口
仅修改package.json的scripts在新版本SvelteKit中可能无法让所有组件同步配置,需要在Vite或SvelteKit配置文件里明确指定端口:
修改vite.config.js
在项目根目录的vite.config.js中添加服务器端口配置:
import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [sveltekit()], server: { port: 3000 // 指定开发服务器端口为3000 } });
或修改svelte.config.js
若习惯在SvelteKit主配置中管理,可在kit.vite选项内设置:
import adapter from '@sveltejs/adapter-auto'; import { vitePreprocess } from '@sveltejs/kit/vite'; /** @type {import('@sveltejs/kit').Config} */ const config = { preprocess: vitePreprocess(), kit: { adapter: adapter(), vite: { server: { port: 3000 } } } }; export default config;
方法2:明确SvelteKit的服务器地址
若仍出现路由找不到的问题,可能是SvelteKit无法正确识别服务器origin,可在svelte.config.js中添加origin配置:
kit: { adapter: adapter(), origin: 'http://localhost:3000', // 明确服务器完整地址 vite: { server: { port: 3000 } } }
方法3:清理缓存并重启服务
旧的Vite缓存可能导致配置不生效,执行以下步骤:
- 停止当前开发服务
- 删除项目根目录下的
.svelte-kit和node_modules/.vite文件夹 - 重新运行
npm run dev
原因说明
新版本SvelteKit与Vite的集成更紧密,仅修改package.json的启动命令,无法让SvelteKit的路由解析、服务端渲染等模块完全同步服务器端口配置,进而引发路径匹配错误(比如Supabase回调或前端请求的origin与实际端口不一致,间接导致路由找不到)。
内容的提问来源于stack exchange,提问作者VaughanG
相关产品推荐
相关产品推荐

