Должны ли компоненты bower быть gitignored?


было бы хорошей практикой сохранить только bower.json файл и gitignore весь

6 153

6 ответов:

The официальная страница Bower указано:

Б. Н. если вы не создаете пакет, который предназначен для использования другими (например, вы создаете веб-приложение), вы всегда должны проверьте установленные пакеты в системе управления версиями.

обязательно проверьте ссылку в цитате, в ней обсуждаются некоторые плюсы и минусы. Основной pro он упоминает, что проверка их гарантирует, что ваши зависимости всегда доступно, пока доступен ваш репозиторий. Неважно, что происходит в беседке, GitHub или что там еще будет нужно.

на .gitignore файл во вновь созданном старшина проект AngularJS имеет bower_components (и node_modules), перечисленные для игнорирования (если вы не знаете Yeoman, это очень авторитетный инструмент для веб-лесов для современных веб-приложений, так что это достаточно хорошо для меня!):

.gitignore

node_modules
dist
.tmp
.sass-cache
bower_components

есть время и место для обоих подходов. Для Йомена уместно полагаться на Бауэра.json, потому что это инструмент в цепочке инструментов и должен оставаться живым и дышать с экосистемой bower. Для развертываемого веб-приложения обычно рекомендуется фиксировать зависимости и поддерживать больший контроль.

здесь хорошая статья мне нравится, что обсуждает это.

Если вы используете Grunt и узел с Bower, имеет смысл поставить bower_components в вашей .gitignore потому что когда вы бежите хрюкать служить или grunt build Он заботится о зависимостях для вас, я уверен, что именно поэтому в Yeoman они добавляют его .gitignore

The старшина генератор предварительно заполнил .gitignore файл с bower_components, но он также предварительно заполнен другими каталогами, которые, как я думаю, понадобятся для окончательного приложения (например, www), поэтому я провел некоторые исследования.

Я обнаружил, что www / index.html-это уменьшенная версия приложения / индекса.формат html. Каталог приложений и его содержимое (включая bower_components) содержит исходные файлы, необходимые для выходного каталога (www). Вы фиксируете источник каталоги в исходное управление (т. е. git), но не сгенерированные файлы (т. е. www). Менеджеры пакетов, такие как bower и npm, предназначены для использования на этапе сборки/генерации, и их артефакты не должны проверяться в системе управления версиями.

в конечном счете, источник, который вы проверяете в git, является минимальной конфигурацией, необходимой для создания остальной части проекта для целей разработки или развертывания.

это хорошо, чтобы игнорировать /bower_components реж и регистрация только bower.json и bower-locker.bower.json файл, если вы создаете файл с помощью bower-locker написано Шон Лонас.

перед созданием Bower-locker был недостаток, вызванный проблемой bower не имея возможности shrinkwrap но это может быть смягчено вышеуказанной библиотекой.

выполните следующие команды, чтобы достигнуть этого:

npm install bower-locker -g

или

yarn global add bower-locker

затем создайте файл блокировки на основе существующего bower.json файл, запустив:

bower-locker lock

оригинал bower.json файл будет переименован в bower-locker.bower.json