node_modules 文件夹加载模块

如果传递给 require() 的模块标识符不是核心模块,也没有以 '/''../''./' 开头,那么 Node.js 会从当前模块的父目录开始,尝试在它的 /node_modules 文件夹里加载相应模块。Node.js 不会添加 node_modules 到已经以 node_modules 结尾的路径上。

如果没有找到,那么就再向上一级目录移动,直到文件系统的根目录为止。

例如,假设在 '/home/ry/projects/foo.js' 文件里调用了 require('bar.js') ,那么 Node.js 查找其位置的顺序依次为:

  • /home/ry/projects/node_modules/bar.js

  • /home/ry/node_modules/bar.js

  • /home/node_modules/bar.js

  • /node_modules/bar.js

这允许程序本地化它们的依赖,避免它们产生冲突。

通过在模块名称后包含路径后缀,你可以请求特定的文件或分布式的子模块。例如,require('example-module/path/to/file') 将被解析为相对于 example-module 所在位置的 path/to/file。后缀路径同样遵循模块路径的解析规则。

results matching ""

    No results matching ""