2013-05-16 1 views
0

От official api site говорится, что базовые модули установлены в папке/lib корневой папки NodeJS, но когда я пытался ее искать, я не видел папку/lib.Для Node.JS, где находятся основные модули в Win?

Любая идея?

Кроме того, после того, как я сделал

var a = require("a.js"); 

возможно получить соответствующий путь к a.js?

ответ

1

Это означает, что /lib папка находится в исходном коде, а не на вашем компьютере. вы можете увидеть его в repository.

и

есть две модели для require

  • абсолютный путь: если параметр не начинается с ./' nor '../', это абсолютный путь. поэтому узел ищет его в основном модуле (он компилируется в режиме выполнения узла) или `node_modules ', который вы установили локально с помощью npm.

  • относительный путь: если параметр запущен с ./ или ../, это относительный путь. поэтому узел ищет относительный путь к текущему положению.

все просто. и вы можете использовать require.resolve('a.js'), чтобы получить полный путь к системе. но у основных модулей нет пути, поскольку он встроен.

0

Хотя принятый ответ достаточно хорош, чтобы решить вопрос, стоит упомянуть, что он содержит некоторую вводящую в заблуждение информацию о шаблонах требуемых. От самого Reference Documentation of Node:

Модуль с префиксом '/' является абсолютным путем к файлу. Например, require ('/ home/marco/foo.js') загрузит файл в /home/marco/foo.js.

Модуль с префиксом «./» относится к файлу, требующему require(). То есть, circle.js должен находиться в том же каталоге, что и foo.js для require ('./ circle'), чтобы найти его.

Без указателя «/» или «./» для указания файла модуль является либо «основным модулем», либо загружается из папки node_modules.

Смежные вопросы