Debian11服务器Vue3+Vite启动报错:ReferenceError: process is not defined
解决Vite启动Vue3项目时
process is not defined的错误 问题原因
错误栈指向express模块,而express是Node.js后端框架,本不应在浏览器环境中加载。出现该问题通常有两种情况:
- 前端代码中错误引入了
express(比如将后端逻辑写到了前端项目里) - Vite默认不会在浏览器环境注入Node.js的
process全局变量,当代码或依赖尝试访问process时就会触发报错
解决方案
1. 移除前端代码中的express依赖
检查项目src目录下所有文件,确认是否存在类似代码:
import express from 'express'
若存在,将这部分后端逻辑迁移到独立的后端服务中,前端仅保留UI交互、API请求相关代码(比如用axios发起请求)。
2. 配置Vite注入process变量(仅当必须使用时)
如果代码或依赖确实需要访问process,可在vite.config.ts(或vite.config.js)中添加define配置,模拟process.env对象:
import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' export default defineConfig({ plugins: [vue()], define: { 'process.env': {} } })
配置完成后重启Vite服务即可。
3. 修正依赖配置
从你的package.json可见express被放在dependencies中,但它属于后端依赖。如果前端项目完全不需要express,直接执行卸载:
npm uninstall express
若项目同时包含前后端代码,建议将后端依赖移至devDependencies,或拆分前后端为两个独立项目。
内容的提问来源于stack exchange,提问作者Brice Mabillard
相关产品推荐
相关产品推荐

