Node报错:找不到模块'controllers/GitController'问题咨询
解决Node.js中"Cannot find module 'controllers/GitController'"的问题
我之前也碰到过一模一样的问题,别慌,这基本是模块路径、文件结构或者导出设置出了问题,咱们一步步来排查解决:
1. 把模块引入路径改成相对路径
Node.js处理require时,不带./或../的模块名,会默认去node_modules文件夹里找。而你的controllers是自己创建的本地目录,必须用相对路径才能定位到:
把主脚本里的代码:
const { GitController } = require('controllers/GitController');
修改为:
const { GitController } = require('./controllers/GitController');
这里的./代表当前脚本(server.js)所在的目录,要确保controllers文件夹和server.js在同一层级目录下。
2. 检查文件结构与文件名是否匹配
确认你的项目文件结构是如下这种形式:
项目根目录/ ├── server.js └── controllers/ └── GitController.js
另外要注意文件名的大小写!如果你的系统是Linux或macOS,文件名是严格区分大小写的——比如实际文件是gitcontroller.js(全小写),但代码里写的是GitController,就会出现找不到模块的报错。
3. 确保GitController模块正确导出
看你提供的GitController.js代码,目前只定义了类,但没有把它导出给外部使用,Node.js自然识别不到这个模块的内容。在文件末尾加上导出语句:
const git = require('gulp-git'); const fs = require('fs'); const util = require('util'); class GitController { constructor() {} } // 新增这行,导出GitController类供外部引入 module.exports = { GitController };
做完这三步后,重新运行node server.js,应该就能正常加载模块了。
内容的提问来源于stack exchange,提问作者Martyn Ball
相关产品推荐
相关产品推荐

