Playwright webServer启动失败(Exit code:2):React+TS+Vite环境求助
问题排查与解决
核心问题分析
Exit code 2通常表示命令执行失败,你的webServer.command配置了npm run build && npm run dev,这是两个连续执行的命令:先构建项目,再启动开发服务器。只要其中任意一步失败,整个命令就会返回错误码2。
具体排查步骤
单独执行构建命令
先在终端手动运行npm run build,看是否能正常完成构建。Vite项目构建失败常见原因:- TypeScript语法错误(比如类型不匹配、未定义的变量)
- 依赖缺失或版本不兼容
- 路径配置错误(比如
vite.config.ts中的别名设置问题) - 资源文件引用错误(比如图片、字体路径不对)
检查开发服务器启动命令
如果构建没问题,再手动运行npm run dev,确认开发服务器能否正常启动并访问http://127.0.0.1:3000。可能的问题:- 端口3000被其他进程占用
package.json中dev命令的配置有误(比如Vite的命令写错)
简化webServer命令
暂时把webServer.command改成仅npm run dev,跳过构建步骤,测试Playwright能否正常连接服务器。如果这样能成功,说明问题出在npm run build环节;如果还是失败,就集中排查开发服务器的启动问题。
优化建议
- 开发环境无需提前构建:Playwright测试开发环境时,直接启动开发服务器即可,不需要先执行
build——构建是生产环境的操作,开发服务器会实时编译代码,没必要多此一举。 - 添加启动超时与日志配置:在
webServer中增加timeout和日志输出配置,方便查看服务器启动时的日志,快速定位错误:webServer: { command: 'npm run dev', url: 'http://127.0.0.1:3000', reuseExistingServer: !process.env.CI, timeout: 120 * 1000, // 延长超时时间到2分钟 stdout: 'pipe', // 输出服务器启动日志到Playwright控制台 stderr: 'pipe' },
内容的提问来源于stack exchange,提问作者Chen Peleg
相关产品推荐
相关产品推荐

