Stackblitz中SvelteKit集成Supabase时.env配置无效问题排查
SvelteKit + Supabase 环境变量加载失败问题解决
以下是具体排查和解决步骤:
修正.env文件变量名前缀
SvelteKit规定,客户端可访问的环境变量必须以PUBLIC_开头。你需要把根目录.env文件里的变量名修改为:PUBLIC_SUPABASE_URL=你的Supabase项目URL PUBLIC_SUPABASE_ANON_KEY=你的Supabase匿名密钥确保变量名和代码中调用的
PUBLIC_SUPABASE_URL、PUBLIC_SUPABASE_ANON_KEY完全一致,避免拼写或命名差异。重启Stackblitz开发服务器
Stackblitz对.env文件的修改不会自动触发热重载,修改完成后必须停止当前npm run dev进程,重新启动服务才能让新环境变量生效。检查supabaseClient.js代码正确性
确认创建客户端的代码正确读取环境变量,可临时添加日志验证:import { createClient } from '@supabase/supabase-js'; // 打印变量确认是否加载成功 console.log('Supabase URL:', import.meta.env.PUBLIC_SUPABASE_URL); console.log('Supabase Anon Key:', import.meta.env.PUBLIC_SUPABASE_ANON_KEY); const supabase = createClient( import.meta.env.PUBLIC_SUPABASE_URL, import.meta.env.PUBLIC_SUPABASE_ANON_KEY ); export { supabase };如果控制台输出
undefined,说明环境变量未成功加载,回到前两步复查。确认Stackblitz环境变量配置优先级
若你在Stackblitz项目设置中添加了环境变量,这些变量会覆盖本地.env文件内容。需确保设置里的变量名同样带有PUBLIC_前缀,且值填写正确。
内容的提问来源于stack exchange,提问作者StephD
相关产品推荐
相关产品推荐

