Angular и модульный backend

323
07 июня 2017, 05:04

Буквально пару дней изучаю angular, вроде все логично, но задался вопросом - а как собственно это использовать совместно с backend частью ? К примеру у меня есть небольшая cms разбитая на модули, каждый модуль имеет структуру вида:

-Module
 --backend
  ---models
  ---views
  ---controllers

Соответственно все файлы представления данного модуля находятся непосредственно в самом модуле. Можно ли таким образом разбить приложение на angular чтобы разные его части отдавались динамически ? Т.к. не совсем понятно как это все должно взаимодействовать. За основу взял ng2-admin, скомпилировал проект angular, в итоге получил следующее:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <meta http-equiv="x-ua-compatible" content="ie=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>ng2-admin</title>
    <link href="styles.f0ac594d45b4b9a2d565.bundle.css" rel="stylesheet"/></head>
    <body>
      <app>
      </app>
      <div id="preloader">
        <div></div>
      </div>
    <script type="text/javascript" src="inline.5853ac59c2cfccc10fba.bundle.js"></script>
<script type="text/javascript" src="polyfills.7fa51874d013990e71f8.bundle.js"></script>
<script type="text/javascript" src="scripts.6d1980287a62dbd24a44.bundle.js"></script>
<script type="text/javascript" src="vendor.f38f9669a40bce1796d5.bundle.js"></script>
<script type="text/javascript" src="main.d45e588ade0cfee2a231.bundle.js"></script>
</body>
    </html>

И еще кучу файлов, в том числе js вида

0.35a6b5085dfd55c3549d.chunk.js

Т.е. такой себе "монолит", который изменять динамически очень проблемно, на мой взгляд. По названию файлов проблемно даже определить какой это компонент. И правильно ли я понимаю, что все ссылки на бэкенд прописываются хардкордно как и все формы под каждый модуль backend, а потом это тупо все компилируется в такой вот "монолит" ?

Answer 1

На базе Angular обычно розрабатывают SPA(Single-Page Application). SPA's же в свою очередь коммуницируют с бэкендом по http, тобишь RESTful API. То что нужно вам больше походит на MPA(Multi-page application), а таких приложений на Angular я еще не видел и не слышал, что бы люди подобным занимались)

И правильно ли я понимаю, что все ссылки на бэкенд прописываются хардкордно как и все формы под каждый модуль backend, а потом это тупо все компилируется в такой вот "монолит" ?

Да, на выходе получается монолит, под каждый бекенд-модуль, скорее-всего прийдется описывать свои "вьюхи", но сдесь с помощью Angular вы можете разработать переиспользуемые компоненты/библиотеку компонентов и использовать эти решения.

P. S. Читал как-то статью, где какие-то "большие", interprise-ребята писали MPA на Vue.js ;)

READ ALSO
Как отобразить меню компонента Joomla на всех view

Как отобразить меню компонента Joomla на всех view

Пишу для себя компонент Joomla с названием YpayФайловая структура как на скриншоте https://i

337
Автоматически добавляются объекты PHP

Автоматически добавляются объекты PHP

Есть несколько классов, которые взаимодействуют между собой

320
Как сохранить координаты в mysql Leaflet drow [требует правки]

Как сохранить координаты в mysql Leaflet drow [требует правки]

Как сохранить координаты в mysql Leaflet drow

362