Я работаю над веб-приложением MarionetteJS с несколькими различными функциональными областями. Например, «панель», другая - «группы», а третья - «события», каждая из которых имеет свои собственные маршруты.MarionetteJS и «Sub Applications»
E.g.
- /приборная панель # показать
- /группы # список
- /группы # показать/123
- /События # V/9876/чел
т.д.
В в прошлом я использовал модули Marionette для сегментации основного объекта приложения в куски, которые можно запускать и останавливать. Это было полезно, когда разрабатываемое приложение представляет собой одностраничное приложение на 100%, то есть я могу загрузить маршрут MVC с сервера (например, http://example.com/dashboard
) и запустить соответствующий компонент (-ы) Marionette. http://example.com/groups
будет запускать другой набор компонентов (компонентов) Marionette
В текущем состоянии (на момент написания этой статьи, 2.4.2) Марионетон отказался от компонента модуля в пользу других модулей загрузки модуля. В приведенном выше примере все еще возможно использовать другой архитектурный подход для сегментации приложения Marionette в части, которые должны запускаться независимо? Как я это вижу, я мог бы:
- Создайте несколько объектов Marionette.Application() и загрузите их каждый независимо друг от друга.
- Используйте Marionette.Object() и расширьте объект Marionette.Application() в подкомпонентах.
- Создайте «главный» маршрутизатор, который прослушивает корневые URL-адреса (события /, панель мониторинга, группы), а затем создайте «под-маршрутизаторы», которые расширяют его, чтобы предложить больше возможностей.
Спасибо, это интересный способ пойти. Я использовал вывод этого с Marionette.Object (s) для моих подпрограмм. – user2710915