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

AdminJS集成Mongoose遇TS2307错误:无法找到@adminjs/mongoose模块

解决AdminJS + Mongoose + TypeScript中找不到@adminjs/mongoose模块的问题

以下是针对该问题的具体排查和解决步骤:

1. 检查并修正TypeScript配置

确保tsconfig.json的配置能让TypeScript正确识别node_modules中的模块,添加或调整以下关键配置:

{
  "compilerOptions": {
    "module": "CommonJS",
    "moduleResolution": "node",
    "target": "ES6",
    "esModuleInterop": true,
    "skipLibCheck": true,
    "allowJs": true,
    "baseUrl": "."
  },
  "include": ["**/*.ts"],
  "exclude": ["node_modules"]
}
  • moduleResolution: "node"是Node.js项目解析模块的标准配置,必须开启。
  • allowJs: true适配你代码中导入.js后缀模型文件的写法。

2. 清理依赖缓存并重装

缓存损坏可能导致依赖安装不完整,执行以下命令彻底重置依赖:

rm -rf node_modules package-lock.json
npm cache clean --force
npm install

3. 确认版本兼容性

从你的依赖版本来看,adminjs@7.8.13与@adminjs/mongoose@3.0.1属于官方兼容组合,但如果问题仍存在,可尝试锁定精确版本:

npm install @adminjs/mongoose@3.0.1 --save-exact

若还是无效,可尝试将AdminJS降级到7.8.0(与该适配器版本的最佳兼容版):

npm install adminjs@7.8.0 --save-exact

4. 手动补充类型声明(临时方案)

如果TypeScript仍无法识别模块类型,可在项目根目录创建src/@types/adminjs__mongoose/index.d.ts文件,手动声明模块类型:

declare module '@adminjs/mongoose' {
  import { BaseDatabase, BaseResource } from 'adminjs';
  export class Database extends BaseDatabase {}
  export class Resource extends BaseResource {}
}

然后在tsconfig.json的include中添加该类型文件路径:

"include": ["**/*.ts", "src/@types/**/*.d.ts"]

验证操作

完成上述步骤后,执行npm run dev重启服务器,检查模块找不到的错误是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 02:24:52