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

NestJS中AdminJS+@adminjs/relations渲染错误:RelationsShowPropertyComponent未打包

解决@adminjs/relations组件未打包的错误

针对你遇到的Component "RelationsShowPropertyComponent" has not been bundled错误,按以下步骤排查修复:

1. 确认版本兼容性

检查package.json中adminjs和@adminjs/relations的版本是否匹配:

  • AdminJS 6.x 对应 @adminjs/relations 1.x
  • AdminJS 7.x 对应 @adminjs/relations 2.x
    版本不兼容时,执行重装命令:
npm uninstall adminjs @adminjs/relations
npm install adminjs@对应版本 @adminjs/relations@匹配版本

2. 正确注册relations插件

在AdminJS实例创建前,必须完成插件注册,示例代码:

import AdminJS from 'adminjs'
import AdminJSRelations from '@adminjs/relations'
// 导入你使用的ORM适配器(以TypeORM为例)
import { Database, Resource } from '@adminjs/typeorm'

// 先注册ORM适配器
AdminJS.registerAdapter({ Database, Resource })
// 再注册relations插件
AdminJS.registerPlugin(AdminJSRelations)

// 后续创建AdminJS实例并配置资源

3. 调整前端打包配置

如果使用自定义打包工具(如Vite/Webpack),需确保插件组件被纳入打包范围:

  • Vite配置示例(vite.config.js):
export default {
  optimizeDeps: {
    include: ['@adminjs/relations']
  }
}

如果使用官方集成(如@adminjs/express),不要修改默认打包配置导致插件被排除。

4. 清理缓存并重建

rm -rf node_modules package-lock.json
npm install

重启开发服务器,重新构建项目。

5. 校验资源关联配置

确保资源的关联定义正确,比如一对多配置:

const userResource = {
  resource: User,
  options: {
    properties: {
      posts: {
        type: 'reference',
        reference: 'Post',
        isArray: true // 标记为一对多关联
      }
    }
  }
}

多对多关联需在双方资源中都设置isArray: true和对应的reference。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:55:33