Hello, I know that is not a recent topic but hey…here goes my point of view. It is just a question of workflow and also decision making on how much yii2 shall deal with the frontend. In order to be able to use the usual deployment workflow with git, i’ve used a vuejs source folder by using vuecli. I then changed the deployment file of vuejs in order to generate the final js files inside the yii2 frontend/web/js folder, I must say, with a mitigated result in terms of the workflow itself, mainly due to the limits of configuration of the vuejs deployment (but that was long ago…i didn’t try recently).
The main purpose was to have a specialized frontend team and a specialized backend team (mainly implementing yii2 rest endpoints) working together on the same time. That is a way to see things. However, vuejs can be implemented on several level/degrees in a very flexible way. Even jquery and vuejs can work together on the same screen. Based only on what i’ve tested I still haven’t found any pitfall (but I haven’t tested much). I have a good feeling about vuejs because the development environment makes it very easy/quick to develop something. Now, decisions must be taken to know which technology does what.
For example, routing and i18n can be managed fully by vuejs. So, you could decide, for example, to leave routing to yii2 and leave i18n management to vuejs. Or decide to really make yii2 a pure rest service and leave vuejs manage totally the frontend, including routing and i18n. Personally, i like that vision because, if you’re not a full stack dev, you can have 2 teams working on a same project. Having the vue source in the folder’s projects enable an easy versioning and the vue cli enables flexibility in deployment. The plus is that you have, consequently, an API ready to be consumed by anything else…a ionic or nativescript app for example.