Тоже воевал с такими "кашами". Все же при полном разделении бэка и фронта разработку вести удобнее, и все более логично. Сейчас использую quasar framework (это тоже vue). Yii приложение работает как rest application (отдает только данные, обработка стандартных запросов из коробки), а фронт на quasar. Hot reload webpack и прочие плюшки такого подхода радуют.
Основная идея : я настроил конфиг вебпака так, что после сборки он выгружает весь код в папку Yii web. Точка входа в одном представлении - app. Оно тоже модифицируется -
//таким образом в app.php указываются ссылки на сгенерированные js файлы
afterBuild() {
let writeableStream = fs.createWriteStream('../views/site/app.php');
//......
fs.createReadStream('../web/index.html').pipe(writeableStream);
},
Соответственно, мы получаем обычное Yii. Что радует - при таком подходе сессии, csf токены - все работает как обычно. Только для локальной разработки , когда vue приложение запускается через свой сервер (мы же работаем локально через cli) - приходится получать csf самостоятельно.