Автозагрузка маршрутов в HapiJS

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

Например, если бы у меня был файл src/routes/account.js, в котором были бы маршруты /login и /register, которые создали бы маршруты API /account/login и /login/register.. Или что-то, что позволило бы мне иметь программный способ автоматической загрузки маршрутов.

Я использую Actin для загрузки своих контроллеров и надеялся использовать что-то подобное. Я не видел никаких плагинов, которые могли бы это сделать, поэтому я подумал, что нужно спросить, есть ли у кого-то метод для этого.

Спасибо!


person Justin    schedule 11.03.2016    source источник
comment
Возможно, это не совсем то, что вы ищете, поскольку я не делаю различий между маршрутами и контроллерами в своих проектах hapi, но это то, что я использую для загрузки своих маршрутов: gist.github.com/mikefrey/66cce57d1fdd78a87b32 Вам, вероятно, придется изменить его для собственного использования.   -  person mikefrey    schedule 12.03.2016


Ответы (2)


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

Это еще не полноценный плагин HapiJS, но вот код, если кто-то хочет его использовать.

Основные детали

  1. Load the routes.js file as a HapiJS plugin (from the /dist folder, for ES5 transpiled version)
  2. Создайте *папку Routes для хранения ваших маршрутов. в той же папке, что и файл routes.js (я сделаю опцию, чтобы вы могли указать папку маршрутов позже)
  3. Create some js files that export some HapiJS routes (like so).
    • Keep in mind that the path in the route files will be appended to the path from the routes folder. Meaning if you have a file at src/routes/users.js, and it has a route with the path /list, then the real path will be /users/list
    • Чтобы определить корневой ресурс, укажите rootResource в settings (значение должно быть именем файла без расширения .js)
person Justin    schedule 12.03.2016

Взгляните на hapi-auto-route. Этот пакет автоматически загружает маршруты и добавляет префикс к пути маршрута.

person sitrakay    schedule 16.04.2017