React Vite项目添加DaisyUI时出现PostCSS错误,求解决方法
解决React Vite项目添加DaisyUI时的
Object.hasOwn is not a function报错 问题根源
Object.hasOwn是ES2022新增的API,你的Node.js版本低于16.9.0(该版本才原生支持这个方法),而DaisyUI v3.5.0内部代码用到了这个API,所以导致PostCSS编译时抛出错误。移除DaisyUI后项目正常,也佐证了问题出在DaisyUI版本与Node版本的兼容性上。
两种解决办法
1. 升级Node.js版本(推荐)
直接将Node.js升级到16.9.0及以上的LTS版本:
- 若使用nvm管理版本,执行以下命令:
nvm install 18 nvm use 18 - 也可直接前往Node.js官网下载最新LTS版本安装,覆盖旧版本。
升级完成后重启Vite开发服务器,报错即可消失。
2. 降级DaisyUI到兼容旧Node版本的版本
如果暂时不想升级Node,可将DaisyUI降级到v2.x系列(该系列不依赖Object.hasOwn):
执行命令:
npm uninstall daisyui && npm install daisyui@2.51.6
降级后无需修改tailwind.config.js中的DaisyUI配置(依然保留plugins: [require('daisyui')]即可),重启服务后项目即可正常运行。
内容的提问来源于stack exchange,提问作者Shahriyar Ahmed
相关产品推荐
相关产品推荐

