Структура Laravel и AngularJS

Недавно я начал подходить к angularjs, и мне очень помогло бы с моим новым проектом, но я был замечен частью структуры представления.

Так что я действительно не понимаю, как его создать. Это нормально, если я создаю частичные части html angular и не создаю виды laravel, поэтому laravel будет обрабатывать только файл instect fecth для редактирования, а частичные представления angular будут обрабатывать результат и формы.

Итак, мой buold будет выглядеть так. Моя папка с ресурсами

/css
/img
/js
 /lib
 /partials
         /home
             index.html
         /users
             users.html
             details.html

И создав для них restful controllers, какие родочки, перечисленные выше

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

Спасибо

Ответ 1

При запуске проекта Laravel и AngularJS вы отвечаете за бэкэнд и интерфейс. В принципе у вас есть 3 варианта.

  • Храните все приложение в одной и той же папке, а файл угловой записи в общей папке.
  • Храните все приложение в одной и нескольких папках и в режиме просмотра в окне просмотра laravel.
  • Отделите свой сервер и интерфейс полностью.

Первый и второй параметры являются самыми простыми, и его ОК, если у вас есть приложение малого/среднего размера. В этом случае просто сохраните все файлы AngularJS в общей папке, или если вы решите их смешивать с видами laravel, просто отпустите расширение .blade(или измените синтаксис шаблона левого/углового шаблона)

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

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

/app
    application.js
    /partials
         user.html
         login.html
         etc.html
    /vendor
         Angular.js
         Lodash.js
         Etc.js
    /controllers
         User.js
         Etc.js
    /directives
         Charts.js
         Etc.js
    /filters
         Custom.js
         Etc.js
    /services
         Backend.js
         Etc.js

Вы также можете проверить этот для хорошего стиля.

Вышеупомянутая основная структура папок, просто настройте ее, как вы видите лучше всего. Если у вас небольшое приложение, вы можете удалить папки и просто controllers.js directives.js and services.js (etc) и сохранить все свои javascript в том же файле. Это полностью зависит от вас. Отдельно, когда приложение растет, и всегда рефакторинг.

Если вы выберете третий вариант, вам придется немного настроить бэкэнд. Это может быть самым сложным вариантом, но это также дает вам большую гибкость. В принципе, вы можете полностью удалить laravel и построить бэкэнд в node.js или использовать laravel в качестве бэкэнда для другого приложения SPA, написанного на Ember.js, без внесения каких-либо изменений в код. Обратите внимание, что если вы выберете этот вариант, вы не сможете использовать некоторые вещи из laravel, например, шаблоны для лезвий. Вам также нужно будет настроить ваше приложение laravel для CORS, и обратите внимание, что может появиться еще некоторое кодирование, когда дело доходит до безопасности, например жетоны CSRF и т.д.

При переходе к созданию с вашим приложением вы можете использовать инструмент построения для минимального и согласовать приложение frontend в одном файле. Оформить заказ ng-min для уточнения.

Ответ 2

Это один из проектов, над которыми я работаю. Вы можете видеть, как у меня есть частичные виды в angular js. Как было предложено выше, нет необходимости помещать файлы просмотра в общую папку.

https://github.com/naveensky/wm-demo-tracker