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

Node.js v13.11.0使用ESM模块出现Cannot find module错误求助

解决Node.js ESM模块导入报错ERR_MODULE_NOT_FOUND的问题

结合你的代码和报错信息,我整理了几个最可能的解决方向,帮你搞定这个问题:

1. 给本地模块添加完整扩展名

在ESM规范下,Node.js强制要求导入本地文件时必须指定完整的文件名后缀——这和CommonJS可以省略扩展名的规则不一样。

把你的导入语句修改成这样试试:

import Client from './structures/CalidiumClient.js';

如果你的CalidiumClient文件是其他后缀(比如.mjs),记得替换成对应的扩展名。

2. 修复路径乱码问题

从报错里的路径D:\ÐоÑкÑÑ\Calidium\src\structures\CalidiumClient能看出来,路径出现了乱码。这大概率是因为你的项目文件夹路径包含非ASCII字符(比如俄语字符),而Node.js v13对这类路径的ESM解析存在兼容性bug。

解决方法很直接:

  • 把项目移动到纯英文路径下,比如D:\Projects\Calidium\src\...
  • 确保文件夹和文件名都只用ASCII字符,避免编码解析出错

3. 升级Node.js版本

Node.js v13.11.0的ESM模块加载器还处于实验阶段,有不少已知的问题和兼容性坑。建议你升级到更稳定的LTS版本(比如v14.x及以上),新版本不仅完善了ESM的支持,还修复了大量路径解析相关的bug,能省不少麻烦。

4. 最后验证基础正确性

再确认几个细节:

  • structures文件夹确实在src目录下,和index.js同级
  • CalidiumClient.js(或对应后缀的文件)确实存在于structures文件夹中
  • 注意文件名的大小写——虽然Windows文件系统不区分大小写,但ESM导入在某些场景下可能对大小写敏感

按照以上步骤排查后,应该就能解决这个模块找不到的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 23:09:08