Node.js自定义config模块导入失败,求解决方案
Node.js ES模块导入自定义模块报错ERR_MODULE_NOT_FOUND的解决方法
针对你遇到的问题,以下是几个关键排查和解决步骤:
必须添加完整的文件扩展名
ES模块导入自定义模块时,不能像CommonJS那样省略.js扩展名,这是两者的核心差异。你当前的导入语句缺少扩展名,修改成以下形式即可:
默认导出导入:import config from './config.js'命名导出导入:
import { config } from './config.js'第三方模块无需扩展名是因为Node会自动从
node_modules中查找对应的包入口,但自定义模块必须明确指定完整路径和扩展名。检查文件名和路径的大小写
在Linux/macOS系统中,Node.js对文件路径大小写敏感。如果你的实际文件名是Config.js或者config.JS,而导入时写的是./config,就会触发找不到模块的错误。直接核对同级目录下的文件名,确保完全匹配。确认文件实际存在于同级目录
检查config.js是否被误放到子目录,或者被.gitignore、构建脚本等意外排除。可以在终端执行ls(Linux/macOS)或dir(Windows)命令,查看当前目录的文件列表,确认config.js存在。验证Node.js版本兼容性
"type": "module"需要Node.js 14.13.0+或12.20.0+的版本支持,低版本可能存在ES模块兼容问题。运行node -v查看版本,若版本过低,建议升级到LTS版本。
内容的提问来源于stack exchange,提问作者Neglected Sanity
相关产品推荐
相关产品推荐

