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

Vite+React项目中process未定义报错(path-parse模块)求助

解决Vite React项目中process is not defined(针对process.platform)的报错问题

问题分析

你遇到的报错是因为Vite默认不会在浏览器环境中注入Node.js的process全局变量,但path-parse包的代码直接引用了process.platform。之前仅定义process.env: {}的配置只处理了process.env,没有覆盖process.platform,所以会出现新的错误。

解决方案1:通过Vite define配置直接模拟process对象

修改你的vite.config.js,完整定义process对象,包含platform属性:

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

export default defineConfig({
  plugins: [react()],
  define: {
    'process': {
      // 直接使用当前Node环境的平台值,也可以手动指定如JSON.stringify('win32')
      platform: JSON.stringify(process.platform),
      env: {}
    }
  }
})

这样Vite在构建时会把代码中的process.platform替换为对应的字符串值(比如"win32"或"darwin"),同时保留process.env的定义,避免报错。

解决方案2:使用Node Polyfill插件(更彻底)

如果你的项目还依赖其他Node.js全局变量,推荐使用插件自动注入所需polyfill:

  1. 安装插件:
npm install vite-plugin-node-polyfills --save-dev
  1. 修改vite.config.js:
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { nodePolyfills } from 'vite-plugin-node-polyfills'

export default defineConfig({
  plugins: [
    react(),
    nodePolyfills({
      // 仅polyfill process相关,按需调整
      include: ['process']
    })
  ]
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:22:37