2

我建立了一個自定義的約曼發電機的負荷,等等,引導3Yeoman與Bootstrap:如何選擇jQuery版本?

bower.json -Template:

{ 
    "name": "<%= _.slugify(appname) %>", 
    "version": "0.0.0", 
    "dependencies": {<% if (includeBootstrap) { %> 
    "bootstrap": "~3.0.3", 
    "respond": "~1.4.2", 
    <% } %> 
    <% if (includeD3) { %> 
    "d3": "~3.4.4", 
    "colorbrewer": "~1.0.0", 
    <% } %> 
    "modernizr": "~2.6.2" 
    } 
} 

正如你可能知道,引導3包括jQuery的作爲依賴,這裏的引導的bower.json

{ 
    "name": "bootstrap", 
    "version": "3.0.3", 
    "main": [ 
    "./dist/js/bootstrap.js", 
    "./dist/css/bootstrap.css", 
    "./dist/fonts/glyphicons-halflings-regular.eot", 
    "./dist/fonts/glyphicons-halflings-regular.svg", 
    "./dist/fonts/glyphicons-halflings-regular.ttf", 
    "./dist/fonts/glyphicons-halflings-regular.woff" 
    ], 
    "ignore": [ 
    "**/.*", 
    "_*", 
    "docs-assets", 
    "examples", 
    "/fonts", 
    "js/tests", 
    "CNAME", 
    "CONTRIBUTING.md", 
    "Gruntfile.js", 
    "browserstack.json", 
    "composer.json", 
    "package.json", 
    "*.html" 
    ], 
    "dependencies": { 
    "jquery": ">=1.9.0" 
    } 
} 

作爲其結果,將所生成的應用程序自耕農包含一個文件夾bower_components/jquery,使用最新版本的jQuery(2.1.0或東西) - 其中,UNFO好在不支持IE8。

不幸的是,我需要IE8的支持。

現在,我該如何告訴我的應用程序,它應該加載一個包含bower.json的Bootstrap,它具有〜1.9.0而不是> = 1.9.0?

第二個問題:爲什麼安裝的jQuery在同一層級的引導,即在bower_components/jquery/,而不是在bower_components/bootstrap/bower_components/jquery或東西,因爲它是引導的唯一依賴,並在我的自耕農bower.json模板未指明爲?!這是我覺得很混亂的東西。

+0

我想如果你安裝引導程序和'jquery#1.x',它會自動執行此操作(它注意到jquery dep。的引導程序已經安裝,並且會轉移引導程序來使用它) – puredevotion

回答

0

@ puredevotion的評論是正確的。我做了什麼來解決這個問題:我明確地在我的bower.json中添加了jQuery。 Bootstrap認識到這一點,並不加載jQuery本身。

這裏是我的更新bower.json:

{ 
    "name": "<%= _.slugify(appname) %>", 
    "version": "0.0.0", 
    "dependencies": {<% if (includeBootstrap) { %> 
    "bootstrap": "~3.0.3", 
    "respond": "~1.4.2", 
    <% } %> 
    <% if (includeD3) { %> 
    "d3": "~3.4.4", 
    "colorbrewer": "~1.0.0", 
    <% } %> 
    "modernizr": "~2.6.2", 
    "jquery": "~1.9.0" 
    } 
} 

我還是不知道答案,我的第二個問題,雖然。