Ответ 1
Композитор был написан для получения зависимостей PHP. Он не хорошо работает с другими сетевыми ресурсами, такими как CSS или JS файлы.
Плагин для компоновщика композиций
Чтобы решить проблему получения активов, плагин Composer Asset был разработан Франсуа Плучино (fxp). Он предоставляет менеджер зависимости NPM/Bower для Composer. Это мост для этих менеджеров зависимостей и будет загружать материал в папку поставщика.
Имейте в виду, что вы всегда можете напрямую использовать Bower или NPM. Выполните ваши зависимости PHP с помощью Composer, определенных в composer.json. Извлеките свои активы с помощью Bower, определенных в bower.json. Это может быть более чистый подход.
Вы можете потребовать его от CLI: composer require fxp/composer-asset-plugin
Например, для извлечения активов "Twitters Bootstrap" и "JQuery":
{
"require": {
"bower-asset/bootstrap": "dev-master",
"bower-asset/jquery-2.1.0": "2.1.0"
}
}
Некоторые структуры предоставляют настраиваемые обработчики для активов, в основном для поддержки их индивидуального расположения папок и копирования вещей в правильные места из папки поставщика. Я не знаю, есть ли у Фалкона что-то, чтобы получить активы.
Разве нет "автоматического" способа сделать это? Или, может быть, указав его в контроллер, который затем копирует файлы в него?
Копирование активов из папки поставщика в нужное место в макете приложения - это еще одна история.
Нет автоматического способа сделать это. Вы должны сами обеспечить механизм.
Например, вы можете изменить путь установки от поставщика до public/assets
или что-то еще,
см. https://github.com/francoispluchino/composer-asset-plugin/blob/master/Resources/doc/index.md#define-a-custom-directory-for-the-assets-installation
Плагин не копирует вещи вокруг.
Bower + Grunt (краткий: извлеките активы с помощью Bower, скопируйте материал с помощью Grunt)
Ближайшим к "указанию контроллера" будет настройка задачи Grunt, чтобы скопировать только нужный материал с помощью Bower из web/assets/vendor
в web/assets/app
.
Другими словами: даже менеджер пакетов JS, такой как Bower, обеспечивает автоматическое копирование основных файлов API. Bower выведет последнюю версию jQuery в определенную папку поставщика, но она не будет автоматически копировать jquery.min.js
в web/assets/js/jquery.min.js
. Вам нужна задача поверх нее.