Я начинаю немного больше вникать в веб-разработку. В настоящее время я использую Spark Framework вместе с Vue для нескольких приложений, которые я сделал. Хотя это, безусловно, работает, это не идеально.
Проект построен с помощью Maven (и NPM для Vue), и процесс сборки выглядит примерно так.
- Maven упаковывает Java-приложение Spark Framework.
- Maven (с плагином frontend-maven-plugin) загружает node/npm и создает интерфейс Vue.
- Maven копирует скомпилированные ресурсы в банку как статические активы.
Итак, файловая система выглядит примерно так
/src/main/java (Spark Framework)
/src/main/resources (Vue)
Это приводит к нескольким неприятностям.
- Все в одном репозитории. В идеале я мог бы иметь отдельный репо для каждого уровня проекта (один для Java, один для Vue)
- Рабочий процесс разработки не идеален. Если я просто хочу протестировать Java-часть приложения, я все равно трачу время на компиляцию внешнего интерфейса (Vue).
- Незначительная проблема, но при работе в IDE я имею дело с глубоко вложенными папками. Каждый раз, когда я хочу отредактировать внешний интерфейс, моя структура папок выглядит примерно так: /src/main/resources/project-vue/
Вот один из моих проектов, в котором используется эта модель
Итак, мой вопрос: Как лучше структурировать мое приложение?