我看到以下内容......
'./folder/'
'../folder/'
'folder/'
'/folder/'
任何人都可以解释不同的路径类型吗?还有一种方法可以自动搜索所有文件夹吗?重构是一种痛苦!
答案 0 :(得分:0)
如果找不到确切的文件名,那么node将尝试使用添加的扩展名 .js , .json 加载所需的文件名,然后 .node
.js 文件被解释为JavaScript文本文件, .json 文件被解析为JSON文本文件。 .node 文件被解释为使用 dlopen 加载的已编译的插件模块。
以' /'为前缀的模块是文件的绝对路径。例如,require(' /home/marco/foo.js')将在/home/marco/foo.js加载文件。
以' ./' 为前缀的模块与调用 require()的文件相关。也就是说, circle.js 必须与 foo.js 位于 require(' ./ circle')找到它。
如果没有领先的' /' 或' ./' 来表示文件,该模块可能是"核心模块"或者从 node_modules 文件夹加载。
如果给定路径不存在, require()将抛出错误,其代码属性设置为&#39; MODULE_NOT_FOUND&#39; < / em>的。
答案 1 :(得分:0)
查看文档:{{3}}
如果传递给require()的模块标识符不是本机模块, 并且不以'/','.. /'或'./'开头,然后节点从 当前模块的父目录,并添加/ node_modules和 尝试从该位置加载模块。
如果在那里找不到它,那么它会移动到父目录,依此类推,直到到达文件系统的根目录。