如何在Vercel部署纯React应用?遇util模块找不到错误求助
解决Vercel部署纯React应用时的
util模块缺失编译错误 问题根源
你遇到的编译错误是因为uuidv4包依赖Node.js核心模块util,但Create React App(CRA)的生产构建配置默认不会为浏览器环境提供Node.js核心模块的polyfill;而Next.js的webpack配置自动处理了这类依赖,所以Next.js部署正常,纯React应用失败。另外你的项目同时安装了uuid和uuidv4,属于冗余依赖——uuidv4本质是uuid包的v4方法封装,没必要同时使用。
解决方案
方案1:替换uuidv4为官方uuid包(推荐)
这是最简洁的解决方式,同时清理冗余依赖:
- 卸载冗余包
yarn remove uuidv4 @types/uuidv4
- 修改代码中的引用
将原来的uuidv4导入替换为uuid包的v4方法:
// 原代码 // import uuidv4 from 'uuidv4'; // 替换为 import { v4 as uuidv4 } from 'uuid'; // 使用方式不变 const newId = uuidv4();
- 重新提交代码并部署到Vercel
方案2:手动添加util依赖(仅保留原包时使用)
如果不想替换uuidv4,可以直接安装util包补足缺失的依赖:
yarn add util
安装完成后重新提交部署即可。
内容的提问来源于stack exchange,提问作者János
相关产品推荐
相关产品推荐

