Bower: Встановіть 2 версії jQuery


76

Як би я встановив 2 версії jQuery за допомогою Bower ? Я хочу мати версію 2.0, а також 1.9.1 для резервної підтримки браузера

У мене проблема полягає в тому, що якщо ви запускаєте bower install jquery#1.9.1 jquery#2.0.0першу версію, вона перезаписується другою, оскільки це однаковий компонент


Сподіваюся, це може вам допомогти, forum.jquery.com/topic/…
dreamweiver

@dreamweiver мені не потрібні дві версії, що працюють одночасно, я хочу встановити дві окремі версії за допомогою bower
Адам Куломбе

редагування тегів, оскільки це насправді не питання jQuery.
Blazemonger

Відповіді:


67

У частині залежностей вашого bower.json ви можете мати щось подібне:

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

Зазвичай цього робити не потрібно, але іноді доводиться підтримувати / мігрувати існуючий веб-сайт, який (з якоїсь причини) використовує різні версії jquery на різних сторінках!


8
як щодо:"jquery-1.9.1": "jquery#1.9.1"
Майка Коузера

1
"залежності": {"jquery": "2.0.0", "jquery-1.9.1": " code.jquery.com/jquery-1.9.1.js "} ---------- Це відповідь працює нормально. Але коли я мініфікую і згладжую код, доступна лише одна версія, і тому код, який використовує іншу версію, стає непрацездатним. Чи є для цього рішення?
Akhil Xavier

158

Згідно з документами Bower

Bower пропонує кілька способів встановлення пакетів:

# 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>

Ви можете встановити дві різні версії jQuery приблизно так:

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

Або, якщо ви вважаєте за краще налаштувати це в bower.json

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

Дякую! корисно знати, це щойно додана функція? Я не думаю, що це було можливо, коли я спочатку шукав відповіді
Адам Куломбе,

@AdamCoulombe, схоже, це було додано з версії 1.0.0. Він був стабільним протягом відносно тривалого періоду часу (програмно), але не був у жодному попередньому випуску Bower.
buzzedword

Це має бути обрана відповідь
gotofritz

Однозначно це повинна бути відповідь
kaosmos

Це справді допомагає. Наступне запитання: як ви вказуєте, яку версію jQuery потрібно використовувати в іншій бібліотеці? У мене питання відкрите тут .
JohnnyQ

12

Якщо ви хочете отримати найновіші версії 1.x та 2.x із командного рядка, ви можете послабити обмеження у відповіді вище .

Так:

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

стане:

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


4
Оскільки співтовариство PHP / Packagist зараз навчається, bower install jquery-legacy=jquery#^1 jquery-modern=jquery- хоча і більш вільним , - все одно не ставить верхньої межі "сучасної" версії. Кращим вільним обмеженням було б:, bower install jquery-legacy=jquery#^1 jquery-modern=jquery#^2оскільки воно тримає сучасне з верхньою межею, щоб запобігти серйозним порушенням. На той час, коли 2.x вже не є «сучасним», я б припустив, що ви все одно зміните назву пакета.
buzzedword

0

bower.json:

Ось як я це зробив ...

"залежності": {
    ...
    "jquery": "2.0.0",
    " jquery-old ": "1.9.1"
    ...
}

Друга версія може бути будь-якою версією, старою чи новою. Вам просто потрібно додати інший ключ. Як jquery-old

Встановити

bower install --save jquery-old

Використовуйте

Тепер ви можете використовувати одну з версій jquery:

<script type = "text / javascript" src = "path / to / bower / directory / jquery / dist / jquery.min.js"> </script>

<script type = "text / javascript" src = "path / to / bower / directory / jquery-old /dist/jquery.min.js"> </script>

Бонус

"залежності": {
    ...
    "jquery": "2.0.0",
    " jquery-old ": "1.9.1"
    " jquery-latest ": "^ 3.3.1"
    ...
}

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.