2015-10-21 3 views
0

Учитывая это файловая структура моего рабочего каталогаNodeJS модуль загружается

|-- bower.json 
|-- lib 
| |-- foo1.js 
| |-- foo2.js 
| `-- foo3.js 
|-- node_modules 
| |-- body-parser 
| |-- bower 
| |-- express 
| `-- md5 
|-- package.json 
|-- runserver.sh 
|-- server.js 
`-- test 

Как я должен загрузить библиотеку третьей стороны модулей (присутствующие в ./node_modules) в моих модулях, которые я пишу в ./ каталог lib?

+2

'требует («тело-анализатор»);' это на первый чек в ваших местных node_modules, если не найдено, он будет проверять в глобальных node_modules каталог – CodingDefined

+0

Заканчивать использование в риом для каждого пакетов, но обычно вы бы использовали нечто вроде «var express = require (« express »);' –

ответ

1

require s относительно файла, требующего. Если server.js должен требовать что-то от ./lib/, то вы сделаете это:

// in ./server.js 
var foo1 = require('./lib/foo1'); // file path: resolve relative to this file. 

Исключение составляет «npm установлены» зависимости, которые живут в node_modules директории, и не требуют расположения файла, просто имя:

// in ./server.js 
var express = require('express'); // not a file path: find in node_modules 

// in ./lib/foo1.js 
var express = require('express'); // not a file path: find in node_modules 

// in some hypothetical ./lib/extended/secondary/mixin/foo7.js 
var express = require('express'); // not a file path: find in node_modules 
+0

Учитывая, что мне нужно использовать зависимости npm в моих модулях (foo1, foo2m foo3). Как это делается? – c0deBeastx

+0

Вы делаете то, что в моем ответе? Если вам нужно использовать установленный модуль 'npm' в вашем файле'./Lib/foo1.js' или любом другом файле в любом месте вашего дерева проектов, вы все равно просто требуете его напрямую по имени. –

+0

Будет ли узел искать родительский каталог? Поскольку мои модули на один уровень ниже иерархии файловой структуры – c0deBeastx

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