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

Vite+React+TypeScript环境变量报错:process is not defined

解决Vite/React中process is not defined环境变量错误

问题核心

你已经按Vite文档使用import.meta.env,但仍触发process is not defined报错,说明项目中某个依赖或配置代码仍在尝试访问Node.js的process对象——Vite默认不会在浏览器环境注入process,因此引发该错误。

分步解决方案

1. 移除不必要的dotenv导入

你的Firebase配置文件中引入了import 'dotenv/config',但Vite自带完整的环境变量处理机制,dotenv是Node.js环境的工具,在浏览器环境中会引入process变量导致冲突,直接删除这行代码。

2. 修正.env文件格式

.env文件中变量值不需要加引号(Vite会自动解析字符串),且确保文件放在项目根目录,无多余空格:

VITE_API_KEY=VALUE
VITE_AUTH_DOMAIN=VALUE
VITE_PROJECT_ID=VALUE
VITE_STORAGE_BUCKET=VALUE
VITE_MESSAGING_SENDER_ID=VALUE
VITE_APP_ID=VALUE

3. 在Vite配置中添加全局变量定义

如果是第三方依赖硬要访问process.env,可以在vite.config.ts中通过define选项模拟process对象,避免报错:

/// <reference types="vitest" />
/// <reference types="vite/client" />

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  base: "/job-board/",
  plugins: [react()],
  define: {
    // 空对象避免process未定义,或按需映射特定变量
    'process.env': {},
    // 若依赖需要指定变量,可单独映射:
    // 'process.env.VITE_API_KEY': JSON.stringify(import.meta.env.VITE_API_KEY)
  },
  test: {
    globals: true,
    environment: "jsdom",
    // 测试环境下可单独配置环境变量
    environmentVariables: {
      VITE_API_KEY: "test-key"
    }
  }
})

4. 重启Vite开发服务器

修改.env或vite.config.ts后,必须重启开发服务器,否则新配置不会生效。

5. 排查依赖兼容性

如果以上步骤无效,检查是否使用了旧版依赖(比如某些firebase工具库),这类库可能仍基于Webpack的process.env编写。尝试升级相关依赖到支持Vite的版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:00:58