SvelteKit项目启动报错:start.js不在Vite服务允许列表内
解决SvelteKit项目Vite服务文件权限与路径解析错误
问题重现
通过命令行创建全新Svelte项目:
npm create svelte@latest my-app
运行npm run dev时触发Vite权限错误:
请求地址"[path_to_workspace]/node_modules/@sveltejs/kit/src/runtime/client/start.js"不在Vite服务允许列表内。
尝试在vite.config.js中添加['..']到server.fs.allow后无效;添加工作区绝对路径后,出现新的路径解析错误:
14:17:40 [vite] Internal server error: Failed to resolve import "../../../../../../Local Sites/pyro_db/node_modules/@sveltejs/kit/src/runtime/components/error.svelte" from "......\Local Sites\pyro_db.svelte-kit\generated\nodes\1.js". Does the file exist?
可行解决方案
1. 移除项目路径中的空格或特殊字符
你的项目路径包含空格(Local Sites),Vite对带空格的路径处理容易出现解析异常。将项目移动到无空格的路径下,比如:C:/Users/Richa/Projects/pyro_db
2. 正确配置server.fs.allow
使用Node.js的path模块生成可靠的绝对路径,避免手动写路径导致的斜杠或格式问题:
import { sveltekit } from '@sveltejs/kit/vite'; import path from 'path'; /** @type {import('vite').UserConfig} */ const config = { plugins: [sveltekit()], server: { fs: { // 允许访问项目根目录及其上级目录(覆盖node_modules路径) allow: [process.cwd(), path.resolve(process.cwd(), '../')] } } }; export default config;
3. 清理缓存并重装依赖
删除项目中的缓存文件和依赖,重新安装:
# 删除依赖目录和锁文件 rm -rf node_modules package-lock.json # 删除SvelteKit生成的缓存 rm -rf .svelte-kit # 重新安装依赖 npm install # 启动开发服务 npm run dev
4. 确保SvelteKit与Vite版本兼容
版本不匹配也可能导致路径解析问题,升级到最新稳定版:
npm update @sveltejs/kit vite
内容的提问来源于stack exchange,提问作者Red
相关产品推荐
相关产品推荐

