Ответ 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 для уточнения.