2013-05-08 18 views
74

Come faccio ad installare 2 versioni di jQuery utilizzando il pergolato? Voglio avere v2.0 e 1.9.1 per il supporto del browser fallbackBower: installa 2 versioni di jQuery

Il problema che sto avendo è che se si esegue bower install jquery#1.9.1 jquery#2.0.0 la prima versione viene sovrascritto dal secondo, perché sono lo stesso componente

+0

Spero che questo ti può aiutare, http: //forum.jquery.com/topic/multiple-versions-of- jquery-on-the-same- – dreamweiver

+0

@dreamweiver Non ho bisogno di due versioni in esecuzione allo stesso tempo, voglio installare due versioni separate usando i tag di modifica di bower –

+0

, poiché questa non è una domanda jQuery. – Blazemonger

risposta

65

Nella parte dipendenze del vostro bower.json si può avere qualcosa di simile:

"dependencies": { 
    "jquery": "2.0.0", 
    "jquery-1.9.1": "http://code.jquery.com/jquery-1.9.1.js" 
} 

uno non dovrebbe normalmente hanno a che fare questo, ma a volte è necessario mantenere/migrazione di un sito web esistente che (per qualsiasi motivo) utilizza diverse versioni di jquery in diverse pagine!

+8

cosa dire: '" jquery-1.9.1 ":" jquery # 1.9.1 "' –

+1

"dipendenze": { "jquery": "2.0.0", "jquery-1.9.1": "http: //code.jquery.com/jquery-1.9.1.js " } ---------- Questa risposta sta funzionando bene. Ma quando minifico e snellisco il codice solo una versione è disponibile e quindi il codice che usa l'altra versione si rompe. C'è qualche soluzione per questo? –

155

Secondo il bower docs

Bower offre diversi modi per installare i pacchetti:

# Using the dependencies listed in the current directory's bower.json 
bower install 
# Using a local or remote package 
bower install <package> 
# Using a specific version of a package 
bower install <package>#<version> 
# Using a different name and a specific version of a package 
bower install <name>=<package>#<version> 

è possibile installare due versioni diverse di jQuery in questo modo:

bower install jquery-legacy=jquery#1.10 jquery-modern=jquery#2 

Or , se preferisci impostarlo in uno bower.json

"dependencies": { 
    "jquery-legacy": "jquery#1.10", 
    "jquery-modern": "jquery#2" 
} 
+0

grazie! buono a sapersi, è una funzionalità aggiunta di recente? Non penso che questa fosse una possibilità quando inizialmente cercavo una risposta –

+0

@AdamCoulombe sembra essere stato aggiunto alla v1.0.0. È rimasto stabile per un periodo relativamente lungo (software saggio) ma non era in alcun pre-rilascio di bower. – buzzedword

+2

ha funzionato perfettamente - evviva! – ConorLuddy

12

Dalla riga di comando, se si desidera solo le ultime versioni 1.xe 2.x, è possibile allentare i vincoli nel answer above.

Quindi:

bower install jquery-legacy=jquery#1.10 jquery-modern=jquery#2

sarebbe diventato:

bower install jquery-legacy=jquery#^1 jquery-modern=jquery

+4

Mentre la comunità PHP/Packagist ora sta imparando, 'bower installa jquery-legacy = jquery #^1 jquery-modern = jquery' - mentre è più loose - non posiziona ancora un limite superiore nella versione" moderna ". Un vincolo allentato sarebbe il seguente: 'bower install jquery-legacy = jquery #^1 jquery-modern = jquery #^2', poiché mantiene il moderno con un limite superiore per impedire le principali modifiche. Per il momento 2.x non è più "moderno", presumo che cambieresti comunque il nome del pacchetto. – buzzedword

Problemi correlati