Как установить jQuery с Composer?
мне удалось установить репозитории, которые не имеют композитора.json файл, как это:
{
"type": "package",
"package": {
"name": "yahoo/yui-compressor",
"version": "2.0.4",
"dist": {
"url": "http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.7.zip",
"type": "zip"
}
}
},
Я взял "тип": "zip" часть из документов, но я не мог найти много других типов. Например, мне нужно установить jQuery, но я не знаю, что ввести в тип ("js" не работает).
{
"type": "package",
"package": {
"name": "jquery/jquery",
"version": "1.7.2",
"dist": {
"url": "http://code.jquery.com/jquery-1.7.2.js",
"type": "js"
}
}
}
какие идеи?
EDIT: я добавляю полный решение, чтобы помочь @CMCDragonkai:
"require": {
"vendorname/somefile": "1.2.3",
},
"repositories": [
{
"type": "package",
"package": {
"name": "vendorname/somefile",
"version": "1.2.3",
"dist": {
"url": "http://example.com/somefile.txt",
"type": "file"
}
}
}
]
3 ответа:
Это просто недостающая функция. Вероятно, должен быть новый тип dist, который является всего лишь одним открытым текстовым файлом, который нужно загрузить и оставить как есть. Пожалуйста, отправьте запрос функции на GitHub issue tracker:https://github.com/composer/composer/issues/
EDIT:
функции на самом деле существует но не документально.
"type": "file"
На самом деле есть более простой способ установить jQuery, просто введите:
{ "require": { "components/jquery": "1.9.*" } }
Он использует установщик компонентов для Composer и по умолчанию все активы из компонентов установлены под
components
, но его можно настроить. ( см. docs).
как уже отмечалось, часть первая решения определяет ваши собственные репозитории и
"type: ": "file"
опция определения репозитория. Но следующая проблема-заставить композитора поместить JQuery туда, где вы этого хотите. Как бы то ни было, composer, похоже, ограничивается загрузкой источника зависимостей подvendor-dir
(что раздражает, но, вероятно, связано с требованиями к автоматической загрузке). Общее исправление этого ограничения-написать плагин composer, который его преодолевает. Кажется, есть несколько плагинов, которые могут управлять этим. Самое простое и легкое решение, которое я нашел, это PHP Composer Asset Manager, который посвящен управлению не PHP / композитор "активы". Хотя, у него есть по крайней мере одно ограничение в том, что изменения, которые делает плагин, не управляются/не обнаруживаются композитором. Все еще можно использовать.вот полный
composer.json
чтобы установить JQuery с помощью этого плагина:{ "name": "foo/bar", "require": { "phpclasses/assets": "*", "jquery/jquery": "*" }, "repositories": [ { "type": "composer", "url": "http://www.phpclasses.org/" }, { "type": "package", "package": { "name": "jquery/jquery", "version": "1.7.2", "type": "jquery", "dist": { "url": "http://code.jquery.com/jquery-1.7.2.js", "type": "file" } } } ], "extra": { "assets": { "actions": [ { "type": "copy", "target": "webroot/js", "pattern": "\.js$" } ], "packages": { "jquery/jquery": "*" } } } }