Bower: Cài đặt 2 phiên bản jQuery


76

Tôi sẽ cài đặt 2 phiên bản jQuery bằng bower như thế nào? Tôi muốn có v2.0 cũng như 1.9.1 để dự phòng hỗ trợ trình duyệt

Vấn đề tôi đang gặp phải là nếu bạn chạy bower install jquery#1.9.1 jquery#2.0.0phiên bản đầu tiên sẽ bị ghi đè bởi phiên bản thứ hai vì chúng là cùng một thành phần


Hy vọng điều này có thể giúp bạn, forum.jquery.com/topic/…
dreamweiver

@dreamweiver, tôi không cần hai phiên bản chạy cùng lúc, tôi muốn cài đặt hai phiên bản riêng biệt bằng bower
Adam Coulombe

chỉnh sửa thẻ, vì đây không thực sự là một câu hỏi jQuery.
Blazemonger

Câu trả lời:


67

Trong phần phụ thuộc của bower.json, bạn có thể có một cái gì đó như sau:

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

Thông thường không cần phải làm điều này, nhưng đôi khi bạn phải duy trì / di chuyển một trang web hiện có (vì bất kỳ lý do gì) sử dụng các phiên bản jquery khác nhau trong các trang khác nhau!


8
những gì về:"jquery-1.9.1": "jquery#1.9.1"
Mike gây ra thiệt

1
"dependencies": {"jquery": "2.0.0", "jquery-1.9.1": " code.jquery.com/jquery-1.9.1.js "} ---------- Đây Câu trả lời là hoạt động tốt. Nhưng khi tôi rút gọn và hủy xác minh mã chỉ có một phiên bản và do đó mã sử dụng phiên bản khác đang bị hỏng. Có giải pháp nào cho điều này không?
Akhil Xavier

158

Theo bower docs

Bower cung cấp một số cách để cài đặt các gói:

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

Bạn có thể cài đặt hai phiên bản jQuery khác nhau như sau:

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

Hoặc, nếu bạn muốn thiết lập điều đó trong bower.json

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

cảm ơn! Thật tốt khi biết, đó có phải là một tính năng mới được thêm vào không? Tôi không nghĩ rằng đây là một khả năng khi tôi ban đầu được tìm kiếm một câu trả lời
Adam Coulombe

@AdamCoulombe có vẻ như điều này đã được thêm vào v1.0.0. Nó đã ổn định trong một khoảng thời gian tương đối dài (thông thường về phần mềm) nhưng không có trong bất kỳ bản phát hành trước nào của bower.
buzzedword

Điều này sẽ là câu trả lời được lựa chọn
gotofritz

Chắc chắn đây phải là câu trả lời
kaosmos

Điều này thực sự hữu ích. Câu hỏi tiếp theo: làm thế nào để bạn chỉ định phiên bản jQuery nào cần được sử dụng trên thư viện khác? Tôi có một câu hỏi mở ở đây .
JohnnyQ

12

Từ dòng lệnh, nếu bạn chỉ muốn phiên bản 1.x và 2.x mới nhất, bạn có thể nới lỏng các ràng buộc trong câu trả lời ở trên .

Vì thế:

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

sẽ trở thành:

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


4
Vì cộng đồng PHP / Packagist hiện đang học hỏi, bower install jquery-legacy=jquery#^1 jquery-modern=jquery- trong khi lỏng lẻo hơn - vẫn không đặt giới hạn trên cho phiên bản "hiện đại". Một ràng buộc lỏng lẻo tốt hơn sẽ là bower install jquery-legacy=jquery#^1 jquery-modern=jquery#^2:, vì nó giữ cho cái hiện đại với một giới hạn trên để ngăn chặn những thay đổi lớn. Vào thời điểm 2.x không còn là "hiện đại" nữa, tôi giả sử bạn sẽ thay đổi tên gói.
buzzedword

0

bower.json:

Đây là cách tôi đã làm nó ...

"phụ thuộc": {
    ...
    "jquery": "2.0.0",
    " jquery-old ": "1.9.1"
    ...
}

Phiên bản thứ hai, có thể là bất kỳ phiên bản nào, cũ hoặc mới. Bạn chỉ cần thêm một khóa khác. Giống như jquery-old

Tải về

bower install - lưu jquery-old

Sử dụng

Bây giờ bạn có thể sử dụng một trong các phiên bản 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>

Tặng kem

"dependencies": {
    ...
    "jquery": "2.0.0",
    " jquery-old ": "1.9.1"
    " jquery-new ": "^ 3.3.1"
    ...
}

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.