Javascript 自定义模块express js:在根目录中打开模块文件夹时找不到模块名称错误

Javascript 自定义模块express js:在根目录中打开模块文件夹时找不到模块名称错误,javascript,node.js,express,Javascript,Node.js,Express,我的express js应用程序的文件夹结构如下所示 我正在尝试加载位于根目录中的模块文件夹 routes/users.js var express = require('express'); var router = express.Router(); var md=require('./modules'); /* GET users listing. */ router.get('/',function(req, res, next) { //res.send('respond wit

我的express js应用程序的文件夹结构如下所示

我正在尝试加载位于根目录中的
模块
文件夹

routes/users.js

var express = require('express');
var router = express.Router();
var md=require('./modules');

/* GET users listing. */
router.get('/',function(req, res, next) {
  //res.send('respond with a resource');
  console.log('test');
  res.status(200).json({ error: 'message' });
});

module.exports = router;
但我得到一个模块未找到错误:

找不到模块“”/modules'

注意:

如果
modules
文件夹位于
node\u modules
文件夹要求正常工作,但如果其位于项目根目录中,则获取模块名称时出错,
另外,
index.js
文件存在于
modules
文件夹中

当解析从
开始时,NodeJS中的模块解析相对于从属模块的目录

换言之:

var module = require('../modules'); // Since your file is in `./routes/index` 
                                   // and `module` is in `./modules/index`
如果您没有在所需模块前面提供
,则NodeJS将在
节点模块
目录中查找该模块

摘自,这是不言自明的

require(X) from module at path Y
1. If X is a core module,
   a. return the core module
   b. STOP
2. If X begins with './' or '/' or '../'
   a. LOAD_AS_FILE(Y + X)
   b. LOAD_AS_DIRECTORY(Y + X)
3. LOAD_NODE_MODULES(X, dirname(Y))
4. THROW "not found"

因此,在您的情况下,当您
需要('./modules')
时。NodeJS在当前目录
/routes
中查找它,由于它找不到它,因此在
节点模块中查找它

当解析从
开始时,NodeJS中的模块解析相对于从属模块的目录

换言之:

var module = require('../modules'); // Since your file is in `./routes/index` 
                                   // and `module` is in `./modules/index`
如果您没有在所需模块前面提供
,则NodeJS将在
节点模块
目录中查找该模块

摘自,这是不言自明的

require(X) from module at path Y
1. If X is a core module,
   a. return the core module
   b. STOP
2. If X begins with './' or '/' or '../'
   a. LOAD_AS_FILE(Y + X)
   b. LOAD_AS_DIRECTORY(Y + X)
3. LOAD_NODE_MODULES(X, dirname(Y))
4. THROW "not found"

因此,在您的情况下,当您
需要('./modules')
时。NodeJS在当前目录
/routes
中查找它,然后由于找不到它,所以在
node\u modules

中查找它,而不是“/modules”,您可以尝试require(“../modules”)

而不是“/modules”,您可以尝试require(“../modules”)