我该如何使用 bower 安装两个版本的 jQuery?我想要同时安装 v2.0 和 1.9.1 版本以实现浏览器支持降级。
问题在于,如果运行 bower install jquery#1.9.1 jquery#2.0.0
,第一个版本会被第二个版本覆盖,因为它们是同一个组件。
我该如何使用 bower 安装两个版本的 jQuery?我想要同时安装 v2.0 和 1.9.1 版本以实现浏览器支持降级。
问题在于,如果运行 bower install jquery#1.9.1 jquery#2.0.0
,第一个版本会被第二个版本覆盖,因为它们是同一个组件。
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"
}
"dependencies": {
"jquery": "2.0.0",
"jquery-1.9.1": "http://code.jquery.com/jquery-1.9.1.js"
}
通常情况下不需要这样做,但有时你需要维护/迁移一个现有的网站,该网站在不同的页面中使用了不同版本的jQuery(由于某种原因)!
如果你只想要最新的1.x和2.x版本,可以在命令行中放宽上面的答案中的限制。
所以:
bower install jquery-legacy=jquery#1.10 jquery-modern=jquery#2
将变成:
bower install jquery-legacy=jquery#^1 jquery-modern=jquery
bower install jquery-legacy=jquery#^1 jquery-modern=jquery
这个命令虽然宽松,但仍未对“现代”版本设置上限。更好的宽松约束应该是:bower install jquery-legacy=jquery#^1 jquery-modern=jquery#^2
,因为它将“现代”版本与一个上限绑定以防止重大破坏性更改。等到2.x版本不再属于“现代”时,我会认为您会更改软件包名称。 - buzzedword这是我做的方法...
"dependencies": {
...
"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>
"dependencies": {
...
"jquery": "2.0.0",
"jquery-old": "1.9.1"
"jquery-latest": "^3.3.1"
...
}