You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ant Design v5升级后Rollup构建组件库出现genTable函数错误

解决Ant Design Table v5.5.0 Rollup构建组件库后genTable is not a function错误

问题分析

报错核心是rc-table的genTable方法无法被识别,结合组件库内Storybook测试正常、node_modules中无rc-table的现象,根源在于依赖解析或Rollup打包配置导致rc-table未被正确引入到最终产物中。

解决方案

1. 显式安装rc-table依赖

Ant Design v5.x中rc-table是核心依赖,但部分包管理器或依赖解析策略可能不会自动拉取深层依赖,需手动安装:

# npm
npm install rc-table@^7.2.0 --save
# yarn
yarn add rc-table@^7.2.0

注意:版本号需匹配antd v5.5.0的依赖要求,可查看antd包内的package.json确认具体版本范围。

2. 调整Rollup打包配置

作为第三方组件库,需确保antd和rc-table不被打包进产物,同时声明为peer依赖让使用方自行安装:

  • 在Rollup配置文件中添加external:
export default {
  // 其他配置项
  external: ['react', 'react-dom', 'antd', 'rc-table'],
  output: {
    // 输出配置
    globals: {
      react: 'React',
      'react-dom': 'ReactDOM',
      antd: 'antd',
      'rc-table': 'RcTable'
    }
  }
};
  • 在组件库的package.json中声明peerDependencies:
"peerDependencies": {
  "react": "^18.0.0",
  "react-dom": "^18.0.0",
  "antd": "^5.5.0",
  "rc-table": "^7.2.0"
}

3. 清理缓存并重新构建

缓存残留可能导致依赖或打包产物异常,执行以下步骤:

# 组件库项目
rm -rf node_modules package-lock.json yarn.lock
npm install
npm run build

# 使用组件库的业务项目
rm -rf node_modules package-lock.json yarn.lock
npm install
npm run dev

4. 验证版本兼容性

确认安装的rc-table版本与antd v5.5.0兼容:

  • 查看antd包内的package.json(路径:node_modules/antd/package.json)中的rc-table依赖版本,确保手动安装的版本在该范围内。

内容的提问来源于stack exchange,提问作者Ori Roll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:22:54