Next.js集成Mantine Dropzone报错:rem不是函数问题求助
解决方案
排查Mantine版本兼容性:
rem是Mantine v6及更早版本的内置函数,v7已移除,替换为remToPx工具函数或主题内置的spacing变量。检查package.json,确保@mantine/core和@mantine/dropzone版本一致,不要混合v6和v7版本。修改代码中的
rem调用:- 若使用Mantine v7,将
rem(xx)替换为主题预设的spacing值(比如theme.spacing.md对应16px),或导入remToPx转换:import { remToPx } from '@mantine/core'; // 示例修改 padding: `${remToPx(16)}px`, - 若坚持用Mantine v6,锁定所有Mantine依赖为v6版本,比如在
package.json中指定:"@mantine/core": "^6.0.0", "@mantine/dropzone": "^6.0.0"
- 若使用Mantine v7,将
处理Node环境缓存问题:
Node 18.14.2属于LTS版本,本身兼容Mantine各版本,若怀疑依赖缓存异常,执行以下操作:- 删除
node_modules文件夹和package-lock.json(或yarn.lock) - 执行
npm install(或yarn install)重新安装依赖 - 清理npm缓存:
npm cache clean --force
- 删除
内容的提问来源于stack exchange,提问作者est_br96
相关产品推荐
相关产品推荐

