Включить библиотеки с Composer, NPM или Bower

Я недавно начал работать с Composer, NPM и Bower. Нет, между их возможностями много общего, и мне было интересно, является ли мой подход вменяемым? Если нет, что мне делать?

Обычно я начинаю свои проекты PHP, настраивая composer для загрузки моих библиотек PHP и зависимостей. После этого я использую NPM для установки Gulp и всех плагинов Gulp, которые я использую. И, наконец, я использую Bower для получения библиотек JS и CSS.

Большинство из них могут загружаться из GitHub, поэтому теоретически я мог бы использовать Composer для установки моего JS / CSS или Bower для загрузки моего PHP. Я в значительной степени настроен на Composer для его возможностей автозагрузки, поэтому я предполагаю, что мой вопрос заключается в том, должен ли я сбросить Bower?

В настоящее время при развертывании я оформляю репо и звоню npm install который устанавливает Gulp и т. д. По моему package.json я использую "scripts": {"install": "gulp install"} который пинает меня install задача в моем gulpfile.js, Это загружает в gulp-composer а также gulp-bower плагины, которые запускают установки Composer и Bower.

3

Решение

Все они в основном одинаковы, различие заключается в их списке пакетов по умолчанию (NPM исключительно NodeJS, Composer в основном PHP, Bower исключительно js / css и т. Д.) И языке, на котором они написаны.

Однако у всех них есть одно ограничение: они могут устанавливать пакеты только в одном месте. Это означает, что вы не можете установить some/php-framework в vendor/ а также my-css-framework в web/,

Расположение очень важно: вы часто хотите, чтобы ваши PHP-код / ​​библиотеки NodeJS жили вне публичного корня, но ваши активы должны находиться внутри публичного корня.

Я думаю, что это очень хорошая практика, если вы тоже можете использовать каждый менеджер зависимостей для языка, для которого он был разработан (например, Composer также выполняет некоторые специфические для PHP вещи, такие как автозагрузка, в то время как NPM выполняет некоторые специфические для NodeJS вещи).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]