Next.js环境变量未定义问题:加载.env.local报错求助
解决Next.js加载.env.local时报错"Cannot read properties of undefined (reading 'split')"的问题
以下是针对Windows 11环境下该问题的排查和解决步骤:
检查.env.local文件格式
确保环境变量严格遵循KEY=VALUE的格式,不要在等号前后加空格,除非值本身需要空格。避免不必要的引号(除非值包含特殊字符),比如:
错误示例:NEXT_PUBLIC_API_KEY = "abc123"
正确示例:NEXT_PUBLIC_API_KEY=abc123
同时删除文件中所有空行或格式无效的行(比如只有=的行),这类行可能导致解析器出错。修正文件换行符
Windows默认使用CRLF换行,部分Next.js版本对这种换行符的解析存在问题。用VS Code打开.env.local文件,点击右下角的「CRLF」选项,切换为「LF」后保存文件。清除缓存并重启服务
关闭当前开发服务器,执行以下命令清理缓存并重新启动:rmdir /s .next rmdir /s node_modules\.cache npm install npm run dev指定稳定版本创建项目
避免使用latest标签拉取最新版本(可能存在未修复的bug),改用稳定版本创建项目:npx create-next-app@13.4.0 my-project创建完成后再添加环境变量测试。
处理含特殊字符的变量值
如果环境变量值包含#、=或空格,用单引号包裹值:NEXT_PUBLIC_COMPLEX_VALUE='value#with=special chars'
内容的提问来源于stack exchange,提问作者Stef-Lev
相关产品推荐
相关产品推荐

