Come installare jQuery con compositore?
-
11-12-2019 - |
Domanda
Sono stato in grado di installare i repository che non hanno un file compositore.json come questo:
{
"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"
}
}
},
.
Ho preso il "tipo": parte "zip" dai documenti, ma non riuscivo a trovare molti altri tipi.Ad esempio, ho bisogno di installare JQuery, ma non so cosa inserire il tipo ("JS" non funzionava).
{
"type": "package",
"package": {
"name": "jquery/jquery",
"version": "1.7.2",
"dist": {
"url": "http://code.jquery.com/jquery-1.7.2.js",
"type": "js"
}
}
}
.
Qualche idea?
Modifica : sto aggiungendo la soluzione completa per aiutare @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"
}
}
}
]
Soluzione
Questa è semplicemente una caratteristica mancante.Dovrebbe probabilmente ci dovrebbe essere un nuovo tipo di Dist che è solo un singolo file di testo in chiaro da scaricare e lasciato il più possibile.Archiviare una richiesta di funzionalità sul GitHub Issue Tracker: https://github.com/composer/composer/issues/
Modifica:
La funzione esiste effettivamente ma non è stato documentato.
."type": "file"
Altri suggerimenti
In realtà c'è un modo più semplice per installare JQuery, solo digitare:
{
"require": {
"components/jquery": "1.9.*"
}
}
.
Utilizza Installer component per il compositore e per impostazione predefinita Tutte le risorse dal componente sono installate in components
, ma può essere personalizzato.( Vedi Docs ).
Come delineato già, parte di una delle soluzioni è definizione dei propri repository e dell'opzione Definizione della definizione del repository "type: ": "file"
. Ma un problema successivo è il compositore per mettere la jQuery dove lo vuoi. Mentre si trova, il compositore sembra essere limitato al download di fonte di dipendenza sotto vendor-dir
(che è fastidioso ma probabilmente correlato ai requisiti di autoloading). La soluzione generale a questa limitazione è scrivere un plugin compositore che lo supera. Sembra essere alcuni plugin che possono gestire questo. La soluzione più semplice più leggera che ho trovato è PHP Compositore Asset Manager , che è dedicato alla gestione della gestione non php / compositore". Tuttavia, ha almeno una limitazione in quanto cambiamenti che i plugin facili non sono gestiti / rilevati dal compositore. Ancora utilizzabile.
Ecco un composer.json
completo per installare JQuery utilizzando quel plug-in:
{
"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": "*"
}
}
}
}
. È possibile installare JQuery utilizzando NPM come così,
npm install jquery
.
Utilizzare npm
, yarn
o WebPack
invece del compositore Sono molto meglio per questo tipo di esigenze.