Существуют ли передовые практики использования bower в управляемом исходным кодом mavenized Java-приложении

Я довольно плохо знаком с разработкой веб-приложений. Ранее я только что загрузил необходимые файлы JavaScript и CSS из сторонних библиотек / фреймворков и поместил их в папку src/main/webapp/scripts (или эквивалентную) моего веб-приложения. Это гарантирует, что будут развернуты только те файлы, которые нужны веб-приложению.

При моей настройке по умолчанию весь каталог bower_components будет привязан к управлению исходным кодом, и если я буду следовать примерам для ссылок на пакет bower, например,

<script src="/bower_components/jquery/jquery.js"></script>

Я собираюсь в конечном итоге развернуть весь каталог bower_components с моим веб-приложением. Это кажется огромным излишним (особенно если бы я использовал jQuery UI, потому что все темы загружаются в Bower).

Существуют ли передовые практики использования bower с веб-приложением, чтобы приложение не было переполнено ненужными сторонними библиотечными файлами? Пожалуйста, помните, что это также веб-приложение на Java и Maven.

3 ответа

Видя, что вы пометили maven по этому вопросу, я полностью не согласен с проверкой в ​​сторонних библиотеках, попробовав все преимущества управления зависимостями maven:), независимо от того, jar это или js.

Это то, что мы пытались согласовать на моей работе, так как, кажется, нет естественного способа сделать js-зависимости в Maven. Специально для Bower здесь выглядит хороший плагин Maven:

https://bitbucket.org/cofarrell/bower-maven-plugin

для которого вы можете указать целевой каталог. Я еще не использовал это, но я хотел бы, чтобы это принесло файлы js в мою целевую директорию, таким образом мне не нужно поместить это в мой источник. Если мы будем двигаться вперед с этим, это то, что я предполагаю.


Если вам интересно, я могу добавить еще кое-что (поскольку об этой теме не так уж много)... В настоящее время мы используем артефакты maven "js", поэтому мы можем использовать управление зависимостями maven с нашими сторонними js. Плагин, который мы разбудили, чтобы сделать это для нас, находится по адресу:

https://github.com/cameroncan/js-import-maven-plugin.

Он делает свою работу, но был построен для нашего варианта использования. Пожалуйста, отправляйте вопросы, если вы обнаружите, что они нуждаются в обобщении. Мы должны вручную загрузить эти артефакты в Nexus, но это не было большой проблемой.

Большим преимуществом использования механизма зависимостей maven является транзитивное разрешение зависимостей. У нас наши js разбиты на разные модули, и без maven, скорее всего, возникнут коллизии с версиями наших js-файлов, что приведет к большому беспорядку в конечном приложении, в которое будут добавлены все js-зависимости.

Вы можете использовать bower-installer, который является пакетом узла, чтобы контролировать, какие файлы будут скопированы в папку статических ресурсов из папки загруженного пакета распространения. Пожалуйста, посмотрите на ссылку ниже.

https://www.npmjs.com/package/bower-installer

Я следовал приведенным ниже шагам, чтобы выбрать, какие файлы будут скопированы в мою папку lib

1) Установите bower-installer с помощью runnnig npm install -g bower-installer команда

2) Создайте папку 'bower_components' вне вашей папки src.

3) Отредактируйте файл конфигурации bower.json (в папке "bower_component") и укажите путь для каждого компонента библиотеки js.

4) Беги bower-installer от терминала

Я только что прочитал несколько статей на эту тему, и кажется, что Бауэр сам рекомендует "включить" bower_components в систему контроля версий:

"... вы всегда должны проверять установленные пакеты в системе контроля версий".

Из статей, которые я прочитал, я получаю следующее:

  1. Если ваш проект должен использоваться другими (например, также как пакет bower), то не включайте bower_components в контроль версий

  2. Если ваш проект должен быть развернут, включите bower_components в систему контроля версий

Другие вопросы по тегам