Я рекомендую вам разделить ваш сервер (Yii 2) и интерфейс (AngularJS) в двух отдельных папках. Мертвые мухи и фрикадельки должны подаваться отдельно. Yii 2 просто предоставляет API-интерфейс сервера, в то время как AngularJS выполняет все другие функции.
project/
backend/ // Yii2 app
web/ // Public visible backend folder
index.php // Entry point
config/
controllers/
models/
...
frontend/
app/ // Your AngularJS application here
css/ // Styles (.less or .css)
img/ // Images
lib/ // Third-party libraries such as jQuery or AngularJS
js/ // .js files (controllers, services, etc.)
partials/ // Templates (.html)
index.html
tests/ // AngularJS tests
node_modules/
...
Веб-сервер должен быть настроен таким образом:
http://mycoolsite.com/api/*
запросов к project/backend/web/
;
http://mycoolsite.com/*
просит project/frontend/app/
.
Если вы используете Apache как веб-сервер, mod_alias может вам помочь.
Обратите внимание, что структура папок внутри каталога backend
или frontend
может отличаться.
- Для
backend
это зависит от того, какой шаблон вы предпочитаете (основной или продвинутый). В моем примере я использовал базовый.
- Для
frontend
это зависит от вашей организации приложений AngularJS. В примере я использовал приложение AngularJS Tutorial, но для огромных приложений лучше использовать структуру modular.
Если я прав, в этом случае мне нужно разместить оба бэкэнда (админ) и API для интерфейса в бэкэнд-каталоге? –
@ EjazKarim, который является правильным –
По второму вопросу вы имеете в виду, например, раздел входа в администрацию данного веб-сайта или даже этот пользовательский интерфейс должен быть создан с помощью функции «Угловая»? – MEM