执行yarn run build时出现SyntaxError模块导入问题求助
解决Next.js构建时rc-util模块的"Cannot use import statement outside a module"错误
问题原因
该错误是因为Next.js默认不会转译node_modules目录下的ES模块代码,而rc-util部分版本输出的未转译ES语法,无法在Next.js构建流程中被正确解析。
解决方案
1. 配置Next.js强制转译目标依赖
在项目根目录的next.config.js中添加transpilePackages配置,让Next.js构建时转译rc-util及antd相关代码:
/** @type {import('next').NextConfig} */ const nextConfig = { transpilePackages: ['rc-util', 'antd'], } module.exports = nextConfig
修改后重新执行yarn run build即可。
2. 锁定rc-util兼容版本
若上述方法无效,可尝试锁定rc-util到与Next.js 14、antd 5.12.x兼容的版本:
- 在
package.json中将rc-util版本指定为^5.35.0 - 执行
yarn install重新安装依赖 - 再次运行
yarn run build
3. 强制统一rc-util版本解决依赖冲突
执行yarn why rc-util查看依赖树,若发现其他依赖引入了不兼容的rc-util版本,可在package.json中添加resolutions字段强制统一版本:
{ "resolutions": { "rc-util": "^5.35.0" } }
添加后执行yarn install,再尝试构建。
内容的提问来源于stack exchange,提问作者Gabriel Felipe Werner
相关产品推荐
相关产品推荐

