Загрузка из
node_module
s FoldersЕсли идентификатор модуля, переданный в
require()
, не является и не начинается с'/'
,'../'
или'./'
, тогда узел запускается в родительском каталоге текущего модуля и добавляет/node_modules
и пытается загрузить модуль из этого места.Если он там не найден, он перемещается в родительский каталог и так далее, пока не будет достигнут корень дерева.
Например, если файл в
'/home/ry/projects/foo.js'
называетсяrequire('bar.js')
, тогда узел будет выглядеть в следующих местах в следующем порядке:/home/ry/projects/node_modules/bar.js /home/ry/node_modules/bar.js /home/node_modules/bar.js /node_modules/bar.js
Это позволяет программам локализовать свои зависимости, чтобы они не столкнулись.
blockquote>I.e. он будет выглядеть в
/path/to/dir2/node_modules
,/path/to/node_modules
и т. д., но не в/path/to/dir1/node_modules
.