Как использовать маршрутизацию вложенных субфлодеров в экспресс-приложении nodejs? - PullRequest
0 голосов
/ 18 июня 2019

Я работаю над проектом узла, используя экспресс.У меня есть несколько папок в папке маршрутов, которые включают в себя несколько файлов .js, имеющих маршруты.Я хочу сохранить структуру таким образом, чтобы мой код был чистым и понятным.Как аккуратно требовать маршруты в файле app.js?

  1. Видя это, https://github.com/searsaw/express-routing-example/blob/master/app.js, Я попытался просто:
const routes = require('./routes');
app.use('/', routes);

но это не такt работает и приводит в действие мои маршруты.

Видя это, я тоже попробовал метод require-dir, но он тоже не работает. Nodejs Express: маршруты в отдельных файлах

Моя структура папок выглядит следующим образом:

-routes
    -admin
        -login.js
        -CRUD_event.js
        -CRUD_venue.js
     -client
         -login.js
         -CR_event.js
         -CR_venue.js

Я не хочу портить файл app.js,Я знаю, что все маршруты могут потребоваться отдельно, но это было бы просто требованием кода в app.js.Я хочу сохранить структуру каталогов маршрутов и сделать так, чтобы они были в app.js максимально оптимизированным способом.

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Вам необходимо создать файл index.js в папке маршрутов, так как вам требуется папка из вашего app.js, в противном случае он не будет знать, какой файл искать.В этом файле (index.js) вам нужно указать маршруты для администраторов и клиентов и требовать их по мере необходимости.

В https://github.com/searsaw/express-routing-example/blob/master/app.js вы можете видеть, что в каждом каталоге есть index.js file.

Если вы не хотите создавать index.js файл, вы должны указать имя файла в операторе require.

0 голосов
/ 18 июня 2019

Я нашел, где я иду не так.Это https://github.com/searsaw/express-routing-example/blob/master/app.js на самом деле все объясняет.В папке маршрутов есть файл index.js, который требует и использует все другие маршруты, а затем экспортируется.Это полностью решает проблему.

...