Come installare jQuery con il Compositore?

Sono stato in grado di installare i repository che non si dispone di un compositore.file 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”: “zip” parte da documenti, ma non riuscivo a trovare molti altri tipi. Per esempio, ho bisogno di installare jQuery, ma non so cosa mettere in tipo (“js” non ha funzionato).

    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.7.2",
            "dist": {
                "url": "http://code.jquery.com/jquery-1.7.2.js",
                "type": "js"
            }
        }
    }

Tutte le idee?

MODIFICA: sto aggiungendo la piena soluzione 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"
                }
            }
        }
    ]
  • Attualmente sto utilizzando un CDN, ma mi piacerebbe avere jQuery da un Compositore o sotto-moduli di git come bene. Non mi piace l’idea di mettere la 3 ° festa librerie nel mio repos. BTW, JS popolarità su GitHub è sopravvalutato perché di tutto questo JS copypasta di prendere posto.
  • Il 2013 è quasi finita e c’è ancora jquery/jquery pacchetto. Questo è davvero strano.
  • Choco! Ciao! Ora avete jQuery, js file nella cartella vendor e adesso? Non è necessario aggiungere src per questo file manualmente e / o compositore, carica da lui stesso? Sto cercando di caricare jQuery automaticamente e relazione il mio sito. È possibile o non capisco cosa Compositore utilizzando per?
  • Il compositore è per le dipendenze di gestione (es. trovare il giusto versioni, controllando che non ci siano conflitti, il download di tutto ciò, ecc). Come si utilizzano queste dipendenze è una questione separata. Se sono PHP dipendenze, saranno normalmente essere caricate e tutto quello che dovete fare è creare oggetti o funzioni di chiamata direttamente. Se sono file JS o altre attività, è necessario aggiungere il percorso del file nell’elenco delle attività che devono essere compilati/minified, o se non si utilizza minimizzazione basta creare un link simbolico al file nel vostro webroot e aggiungere il src manualmente.
  • “… o se non si utilizza minimizzazione basta creare un link simbolico…”. Che significherebbe che avrei dovuto avere i vostri fornitori dir sotto la cartella radice del web. Non è insicura?
  • Si crea un collegamento al file e metterlo nella cartella di webroot. Non venditori.
  • Si OK. Ancora, non è l’ideale.
  • Perché no? Penso che sia l’ideale.
  • Perché si è più complicato di configurazione del server web per essere più sicuro.
  • Non so di cosa stai parlando. E ‘ solo un link simbolico a una statica bene.
  • post-aggiornamento configurazione probabilmente può essere impostato per essere gestito automaticamente da un compositore gancio

 

5 Replies
  1. 34

    Questa è semplicemente una caratteristica mancante. Probabilmente ci dovrebbe essere un nuovo tipo di dist, che è solo un singolo file di testo semplice, per essere scaricato e lasciato com’è. Si prega di inviare una richiesta di funzionalità su github, issue tracker: https://github.com/composer/composer/issues/

    EDIT :

    La funzione in realtà esiste, ma non è stato documentato.

    "type": "file"
    • Grazie, ho presentato questo problema solo ora: github.com/composer/composer/issues/946
    • Stof commentato la questione, la funzione esiste. Ho modificato la tua risposta.
    • Sarebbe bello sapere se c’è un modo per ottenere più file da un archivio. Alcuni plugin includono fogli di stile e le immagini, che implica la creazione di un pacchetto per il file?
    • è un repo git? si può fare, {“type”: “package”, un “pacchetto”: { “nome”: “venditore/app”, “versione”: “1.2.3”, “source”: {“url”: “htps://github.com/fornitore/app.git”, “type”: “git”, “riferimento”: “1.2.3” } } } Sostituire htps con https
    • Proverò. Penso che quello che mi manca è un modo per mettere i file su una directory web. Creazione di un pacchetto solo per le attività è un overkill. Dovrebbe essere possibile installare il file js direttamente al web directory.
    • Come si fa questo lavoro? Voglio solo per ottenere Compositore per il download di un singolo file di testo tramite HTTP? Dove devo specificare tutto?
    • Ho modificato il mio post per aggiungere la soluzione completa

  2. 39

    In realtà non c’è un modo più semplice per installare jQuery, basta digitare:

    {
        "require": {
            "components/jquery": "1.9.*"
        }
    }

    Utilizza Installatore di componenti per il Compositore e per impostazione predefinita, tutti i beni Componenti sono installati in components, ma è possibile personalizzare. (vedi docs).

    • Questo non ha nulla a javascript componenti di gestione dei pacchetti non è vero?
    • components/jquery è Spessore repository per jQuery e la stessa repo funziona con Bower, Componente e Compositore
    • Questo funziona, ma consente anche di installare circa 1,8 MB di estranei PHP.
    • Fatto composer require components/jquery senza la versione e ha lavorato come un fascino. Ha aggiunto me la linea "components/jquery": "^2.1" per il .json e ha proceduto ad installarlo e incollarlo nel .lock – grazie per la components/* suggerimento!
  3. 2

    Come indicato, parte della soluzione è la definizione è proprio repository e il "type: ": "file" repository opzione definizione. Un ulteriore problema è sempre il compositore a mettere in JQuery in cui si desidera. Così com’è, compositore sembra essere limitato a scaricare dipendenza source sotto vendor-dir (che è fastidioso, ma probabilmente legate a autocaricamento dei requisiti). Il generale correzione di questa limitazione è quello di scrivere un plugin compositore che lo supera. Sembra essere un paio di plugin in grado di gestire questo. Il più semplice, più leggera soluzione che ho trovato è PHP Composer Asset Manager, dedicata alla gestione non PHP/Compositore “attività”. Però, ha almeno una limitazione, in quanto le modifiche che il plugin fa non sono riuscito/rilevato dal compositore. Ancora utilizzabile.

    Ecco un completo composer.json per installare utilizzando JQuery 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": "*"
          }
        }
      }
    }
    • Attenzione: è da notare che i nomi dei pacchetti, come elaborata dall’Asset Manager plugin, sono tutte per minuscole. Se hai usato le lettere maiuscole dei pacchetti in “richiedono”, non potrà mai essere eguagliata da il plugin, anche se li si scrive allo stesso modo nel suo “pacchetti” sezione.
    • Inoltre, nota l’evento ganci – getcomposer.org/doc/articles/scripts.md. Sto usando questi ora. BACIO.
  4. 0

    Utilizzare npm, yarn o WebPack invece di Compositore essi sono il modo migliore per quel tipo di esigenze.

    • Bower è già obsoleto e non più mantenute – non è una buona scelta nel 2018.
    • cosa usare al posto ? Webpack ?
    • Ci sono raccomandazioni di bower sito web – probabilmente filati e webpack.

Lascia un commento