Como instalar o jQuery com o Compositor?
-
11-12-2019 - |
Pergunta
Eu tenho sido capaz de instalar os repositórios que não têm um compositor.json arquivo como este:
{
"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"
}
}
},
Eu tirei o "tipo":"zip" parte do docs, mas eu não conseguia encontrar muitos outros tipos.Por exemplo, eu preciso instalar o jQuery, mas eu não sei o que colocar na escreva ("js" não funciona).
{
"type": "package",
"package": {
"name": "jquery/jquery",
"version": "1.7.2",
"dist": {
"url": "http://code.jquery.com/jquery-1.7.2.js",
"type": "js"
}
}
}
Qualquer idéias?
EDITAR:Estou adicionando o total solução para ajuda @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"
}
}
}
]
Solução
Este é simplesmente um recurso ausente.Lá, provavelmente, deve ser um novo tipo de dist que é apenas um único arquivo de texto sem formatação para ser baixado e deixada como está.Por favor, arquivo de um pedido de recurso no github issue tracker: https://github.com/composer/composer/issues/
EDITAR :
O recurso de realmente existe mas não foi documentado.
"type": "file"
Outras dicas
Na verdade, há uma maneira mais fácil de instalar o jQuery, basta digitar:
{
"require": {
"components/jquery": "1.9.*"
}
}
Ele usa Componente de instalação para o Compositor e, por padrão, todos os ativos do Componente são instalados em components
, mas pode ser personalizar.(ver docs).
Como já sublinhado, a primeira parte da solução é definir a você próprio repositórios e o "type: ": "file"
definição de repositório opção.Mas uma edição posterior está ficando compositor para colocar o JQuery onde você quiser.Como está, o compositor parece ser limitado para download de dependência fonte sob vendor-dir
(o que é chato, mas, provavelmente, relacionado com o carregamento automático de requisitos).Geral correcção para esta limitação é escrever um compositor plugin que supera-o.Parece ser alguns plugins que podem gerenciar isso.A forma mais simples e mais leve solução que eu encontrei é PHP Compositor Gestor de Ativos, que é dedicado para a gestão de PHP/Compositor de "bens".Porém, ele tem pelo menos uma limitação que as alterações que o plugin faz não são gerenciados/detectadas pelo compositor.Ainda utilizável.
Aqui está um completo composer.json
para instalar o JQuery usando o plugin:
{
"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": "*"
}
}
}
}
você pode instalar o jquery usando a ngp como assim,
npm install jquery
Utilização npm
, yarn
ou WebPack
em vez de Compositor eles são a maneira melhor para que tipo de necessidades.