Лучший способ создать веб-приложение с помощью Java и Vue

Я начинаю немного больше вникать в веб-разработку. В настоящее время я использую Spark Framework вместе с Vue для нескольких приложений, которые я сделал. Хотя это, безусловно, работает, это не идеально.

Проект построен с помощью Maven (и NPM для Vue), и процесс сборки выглядит примерно так.

  1. Maven упаковывает Java-приложение Spark Framework.
  2. Maven (с плагином frontend-maven-plugin) загружает node/npm и создает интерфейс Vue.
  3. Maven копирует скомпилированные ресурсы в банку как статические активы.

Итак, файловая система выглядит примерно так

/src/main/java (Spark Framework)

/src/main/resources (Vue)

Это приводит к нескольким неприятностям.

  1. Все в одном репозитории. В идеале я мог бы иметь отдельный репо для каждого уровня проекта (один для Java, один для Vue)
  2. Рабочий процесс разработки не идеален. Если я просто хочу протестировать Java-часть приложения, я все равно трачу время на компиляцию внешнего интерфейса (Vue).
  3. Незначительная проблема, но при работе в IDE я имею дело с глубоко вложенными папками. Каждый раз, когда я хочу отредактировать внешний интерфейс, моя структура папок выглядит примерно так: /src/main/resources/project-vue/

Вот один из моих проектов, в котором используется эта модель

Итак, мой вопрос: Как лучше структурировать мое приложение?


person Jerred Shepherd    schedule 20.08.2017    source источник


Ответы (1)


У меня было несколько месяцев на размышления, и за это время я создал еще несколько приложений с помощью Vue, вот рабочий процесс, который я начал использовать.

Я создаю организацию GitHub для любого проекта, который имеет более одного уровня. Например, у многих моих проектов есть REST API, написанный на Java или JavaScript, и веб-интерфейс с Vue. Эта организация будет содержать репозиторий для каждого слоя. Вот ссылка на организацию, которая следует этой идее.

Это позволяет мне разделить мой серверный и внешний интерфейс, но усложняет развертывание. Я больше не могу обслуживать свои файлы Vue с тем же веб-сервером, что и API, но, если подумать, это, вероятно, хорошо.

С помощью этого шаблона я могу разместить свой статический сайт Vue на Amazon S3, что очень дешево, и использовать бесплатные динамометры с Heroku для размещения своего API.

person Jerred Shepherd    schedule 02.04.2018