我构建了一个定制的Yeoman生成器,可以加载Bootstrap 3等。
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"
}
}
您可能知道,Bootstrap 3包含jQuery作为依赖项,这里是Bootstrap的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"
}
}
因此,生成的yeoman应用程序包含一个文件夹bower_components/jquery
,其中包含最新的jQuery版本(2.1.0或更高版本) - 遗憾的是,它不支持IE8。
现在,如何告诉我的应用它应该加载一个包含bower.json
的Bootstrap,其中包含~1.0.0而不是&gt; = 1.9.0?
第二个问题:为什么jQuery安装在与Bootstrap相同的层次结构级别上,即bower_components/jquery/
中,而不是bower_components/bootstrap/bower_components/jquery
中,因为它是Bootstrap的唯一依赖项,未指定为在我的yeoman bower.json
模板中?!这是我觉得很困惑的事情。
答案 0 :(得分: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"
}
}
我仍然不知道第二个问题的答案。
答案 1 :(得分:-1)
您需要css3-mediaqueries-js查看this如何在您的情况下使用它。