Vite项目使用pm2启动preview时持续更新构建的问题排查
Vite项目用pm2启动preview时持续触发构建的问题原因分析
我用Vite构建项目(执行npm run build),因其他端口被占用,通过npx vite preview --port 3003可正常运行项目,但用pm2启动preview时,pm2会持续触发更新构建。此前维护Next.js项目未出现该问题,Vite项目遇到此异常。
我的vite.config.ts配置
import { defineConfig } from 'vite' import react from '@vitejs/plugin-react-swc' export default defineConfig({ plugins: [react()], })
尝试的操作步骤
git clone 'project_name' npm i npm run build pm2 start npx --name 'name' -- preview
pm2状态截图

问题原因分析
- 启动命令不明确:你当前的pm2命令缺少
vite前缀,npx无法识别要执行哪个包的preview命令,大概率 fallback 到了Vite的开发服务(dev模式)。dev模式会监听文件变化自动构建,导致pm2不断检测到文件变动,进而反复重启进程。 - pm2默认监听文件变化:pm2默认会监听当前目录的文件改动,若Vite dev模式生成临时文件或修改文件,pm2会误判为代码更新,触发进程重启,形成循环。
解决建议
使用明确的命令启动pm2,确保执行Vite的预览模式而非开发模式:
pm2 start npx --name 'your-project-name' -- vite preview --port 3003
若仍有问题,可禁用pm2的文件监听功能,避免不必要的进程重启:
pm2 start npx --name 'your-project-name' --watch false -- vite preview --port 3003
内容的提问来源于stack exchange,提问作者Daniil
相关产品推荐
相关产品推荐

