2015-01-22 2 views
0

Я смотрю на какой-то код на github.требуется имя вместо пути к файлу

https://github.com/madhums/node-express-mongoose/blob/master/config/routes.js

В строке 7 говорится.

var home = require('home'); 

home.js находится в другой папке. Мне интересно, как это работает, и как я могу это сделать в своем собственном коде.

на

http://nodejs.org/api/modules.html#modules_folders_as_modules

объясняет, как создать автономный каталог, но я могу только найти package.json в корневой папке. Так, как это работает? Это кажется более чистым способом, чем прямые ссылки на файлы.

ответ

0

Есть способы ссылаться на папки в файловой системе как пакеты в узле, например, npm link, будет делать вид, что папка является модулем с использованием символических ссылок.

Пакет, который вы связали, немного обманывает, и я бы сказал, что он не чист вообще, когда вы так себя чувствуете. Фактически установка NODE_PATH включает все контроллеры при запуске службы: https://github.com/madhums/node-express-mongoose/blob/master/package.json#L13

Таким образом, все файлы контроллеров, такие как home.js, автоматически доступны. В любом случае, .js всегда является необязательным.

+0

Ahh путь, конечно. да, согласился с использованием NODE_PATH, это не очень хорошо. Большое спасибо! – Jens

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