Javascript 当js文件位于同一目录中时,找不到模块错误
我添加了一个名为mongoUtil的js模块,该模块包含下面的代码,遵循在中找到的建议 此外,我在app.js模块中使用了以下行:Javascript 当js文件位于同一目录中时,找不到模块错误,javascript,nodes,Javascript,Nodes,我添加了一个名为mongoUtil的js模块,该模块包含下面的代码,遵循在中找到的建议 此外,我在app.js模块中使用了以下行: const mongoUtil = require('mongoUtil') 但是,当两个模块位于同一目录中时,我得到以下错误: 错误:找不到模块“mongoUtil” 我缺少什么?如果您向require提供模块名称,它将搜索节点\u模块 如果要从当前目录中读取模块,则需要使用文件路径。这可能是相对的:require(“./mongoUtil”)确切的文档包括一个
const mongoUtil = require('mongoUtil')
但是,当两个模块位于同一目录中时,我得到以下错误:
错误:找不到模块“mongoUtil”
我缺少什么?如果您向
require
提供模块名称,它将搜索节点\u模块
如果要从当前目录中读取模块,则需要使用文件路径。这可能是相对的:
require(“./mongoUtil”)
确切的文档包括一个(相当长的)伪代码,解释了定位模块的算法是如何工作的
但简而言之,加载模块有两种基本方式:
- 使用已安装模块的名称(可以是全局安装的或本地安装的),例如
。这将查找(全局或本地)require('mongodb')
文件夹node\u modules/mongodb
- 使用路径(绝对或相对),例如
。这将在给定的路径上查找文件-如果它是相对的,则它是相对于当前文件的require('./mongoUtil')
因此,解决方案是使用
require('./mongoUtil')
而不是require('mongoUtil')
这将起作用:
const mongoUtil = require('./mongoUtil.js');
或者甚至只是以下内容,因为扩展是自动解析的:
const mongoUtil = require('./mongoUtil');
是的!谢谢你,昆汀,谢谢你,切里特。
const mongoUtil = require('./mongoUtil');