Node.JS Express - Импорт папки в виде модуля

node.js express

1395 просмотра

1 ответ

7180 Репутация автора

Я новичок в экспрессе.

Я пытаюсь импортировать папку как модуль, чтобы в будущем я мог использовать другие файлы в папке как модули.

Итак, что я сделал, так это изменил

var routes = require('./routes/index');
var users = require('./routes/users');

app.use('/', routes);
app.use('/users', users);

к этому-

var routes = require('./routes');

app.use('/', routes.index);
app.use('/users', routes.users);

Но я получаю ошибку, как это-

введите описание изображения здесь

Может кто-нибудь помочь, пожалуйста, что я могу сделать, чтобы решить эту проблему, чтобы я мог использовать все файлы в папке маршрута в качестве модулей?

Обновить-

Что касается @AnubhavSrivastava, мое требование в порядке, потому что я видел это в учебнике MVA . Ссылка здесь и время 1:32:58 .

Код такой

введите описание изображения здесь

Заранее спасибо за помощь.

Автор: Abrar Jahin Источник Размещён: 19.07.2016 07:15

Ответы (1)


1 плюс

449 Репутация автора

когда вам требуется поверх папки, он возвращает модуль index.js по умолчанию, вы не получите route.user, если у вас нет переменной, экспортируемой в index.js.

Извлечение из узла JS официальной документации

Папки как модули

Удобно организовывать программы и библиотеки в автономные каталоги, а затем предоставлять единую точку входа в эту библиотеку. Существует три способа передачи папки в функцию require () в качестве аргумента.

Первый - создать файл package.json в корне папки, в котором указан основной модуль. Пример файла package.json может выглядеть так:

{ "name" : "some-library", "main" : "./lib/some-library.js" }

Если это было в папке ./some-library, то require ('./ some-library') попыталось бы загрузить ./some-library/lib/some-library.js.

Это степень осведомленности Node.js о файлах package.json.

Примечание. Если файл, указанный в «основной» записи файла package.json, отсутствует и не может быть разрешен, Node.js сообщит об отсутствии всего модуля с ошибкой по умолчанию:

Ошибка: не удается найти модуль «some-library». Если в каталоге нет файла package.json, Node.js попытается загрузить файл index.js или index.node из этого каталога. Например, если в приведенном примере нет файла package.json, то require ('./ some-library') попытается загрузить:

./some-library/index.js ./some-library/index.node

Автор: theAnubhav Размещён: 19.07.2016 07:17
Вопросы из категории :
32x32