я делаю примерно так
в папке с проектом у меня папка www или frontend внутри нее лежит package.json и тут лежит весь фронтенд сайта
также есть папка api или backend внутри нее лежит composer.json и тут все что касается бэкенда
бэкенд обычно вынесене на поддомен api.project и фронт доступен по основному пути
для изоляции окружений я использую vagrant или docker или что угодно, конфиг лежит в корне проекта и лежат скрипты которые могут развернуть окружение заново.
запуск среды разработки
vagrant up // или докер или любая другая виртуализация
cd frontend
npm run dev
деплой чуть отличается но тоже довольно просто