如何解决express.js中的“无法find模块”(自定义模块)错误
我有我的user.js文件里面的控制器目录和utility.js文件里面的服务目录。
在user.js中,我试图像下面那样访问utility.js。
var Utility = require('./service/utility'); var express = require('express'); var router = express.Router();
node.js引发的错误
Debugger listening on port 5858 module.js:327 throw err; ^ Error: Cannot find module './service/utility' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17)
controller
和service
相邻的目录是这样的吗?
+- service/ | +- utility.js | +- controller/ +- user.js
require
中的相对path相对于当前模块进行处理。 所以如果你的目录是这样布局的,你需要得到相对于user.js
的path:
var Utility = require("../service/utility");