如何启动使用craco模块的React应用,解决Object.fromEntries报错问题
报错原因
该错误核心是当前运行环境的Node.js版本低于12.0.0:Object.fromEntries是ES2019标准新增的原生方法,Node.js从12.0.0版本才开始原生支持该特性,而你项目中依赖的tailwindcss JIT编译模块调用了该方法,因此执行craco start触发编译时抛出异常。
解决方案
- 方案一(优先推荐):升级Node.js版本至12.0.0及以上
- 执行
node -v查看当前版本,确认版本号低于12.0.0后,可通过nvm工具切换高版本Node.js,或直接安装官方高版本Node.js安装包 - 升级完成后,删除项目目录下的
node_modules文件夹、package-lock.json或yarn.lock锁文件 - 重新执行
npm install或yarn安装依赖,之后执行craco start即可正常启动
- 执行
- 方案二:添加polyfill兼容低版本Node.js
如果受环境限制无法升级Node.js,可手动添加该方法的兼容补丁:- 执行
npm install object.fromentries --save安装兼容包 - 在项目入口文件(通常为
src/index.js)的最顶部添加代码:import 'object.fromentries/shim' - 保存文件后重新执行
craco start即可
- 执行
- 方案三:降级tailwindcss版本
也可以将tailwindcss降级到不依赖该方法的旧版本,执行npm install tailwindcss@2.0.4 --save-dev完成降级后,重新启动项目即可。
内容的提问来源于stack exchange,提问作者JolomonSon
相关产品推荐
相关产品推荐

