2015-06-19 60 views
14

我有一个index.html文件。在我bower.json文件我有依赖关系:gulp鲍尔wiredep不拾起bootstrap.css?

"bootstrap": "~3.3.2" 

在一饮而尽文件我有:

gulp.src('./main.html') 
    .pipe(wiredep({ 
     bowerJson: require('./bower.json') 
    })) 
    .pipe(gulp.dest('./')); 

当我这样做,我看到正在生成所有的CSS和JS,但不要请参阅注入中包含的任何地方的bootstrap.css,其他依赖项都是。到底是怎么回事?

我想必须有一个简单的解决方案吗?或者与grunt相比,gulp有问题吗?

更新:我得到了****在硬核maven fanatic上抛出了关于bower和node如何与maven比较,以及如何在bower安装后如何手动修改软件包的bower.json文件下载。如果有某种方法可以合理地不必修改bower.json或将其应用到构建过程中,而不必要求开发人员这样做...请更新!

+0

同样的问题,是你能解决这个问题? –

+0

没有。它是吞没的错还是自举的错? – Rolando

+0

不确定,我仍然面临问题 –

回答

6

后,我在最初指向* .LESS文件到以下根改变了bower.json文件:

"main": ["dist/css/bootstrap.css"], 

现在的作品。

注:我删除了bootstrap.js的条目,因为我不需要它。

+2

请求引导? – Rolando

+0

我不确定你在问什么。看看你的\ bower_components \ bootstrap \文件夹,会有一个文件bower.json,编辑它并将“main”部分更改为上面所述的内容。 – Helzgate

+0

这帮了我! –

4

这是最新版本的Bootstrap 3.3.5的问题。请参阅以下GitHub的问题更多信息:

https://github.com/twbs/bootstrap/issues/16663

换句话说,它应该工作的罚款,直到3.3.4版本。

确保列出要在Bower中使用的实际版本;使用〜3.3.2之后,你的bower.json已经安装3.3.5之后,例如仍然会让Bower求助于3.3.5,只需将其改为3.3.2而不是〜3.3.2,你就会变成金色的!

8

是为@Helzgate说,引导正在考虑bootstrap.less作为默认样式文件,而不是bootstrap.css,您可以通过以下

bower_components /引导/凉亭检查了这一点。 JSON

那么你就可以清楚地看到,主属性持有以下值:

main": [ 
    "less/bootstrap.less", 
    "dist/js/bootstrap.js" 
    ] 

因此,所有你需要做的就是更换以下/ bootstrap.lessDIST/CSS/bootstrap.css这样的:

"main": [ 
    "dist/css/bootstrap.css", 
    "dist/js/bootstrap.js" 
    ] 

,瞧,就是这样。

26

而不是替换/修改bootstrap的bower.json,我们可以覆盖项目的bower.json中的主要对象。

"overrides":{ 
"bootstrap":{ 
    "main":[ 
    "dist/js/bootstrap.js", 
    "dist/css/bootstrap.min.css", 
    "less/bootstrap.less" 
    ] 
}} 

这适用于我!

2

最多可以使用Bootstrap 3.3.4。之后,没有注入CSS。只有JS。这在https://github.com/twbs/bootstrap/issues/16663中全部提及。这可能需要一段时间才能解决。截至今天,它仍然没有得到解决。问题是wiredep在我的工作流程中运行的很好。除此之外唯一有效的方面就是吞噬注入,但那就是吞咽,而吞咽并不是如此Bootstrap友好。

3

可以设置在wiredep选择这样的控制装置:

gulp.task('bower',['inject-js'],function(){ 
return gulp.src('./www/index.html') 
    .pipe(wiredep({ 
     "overrides" : { 
      "bootstrap":{ 
       "main":[Set the path to any thing you like] 
      } 
     }, 
     directory:'./www/lib/' 
    })) 
    .pipe(gulp.dest('./www')); 
}); 
+0

这个效果好多了。我尝试了标记为答案的那个,但是如果运行“bower install”,它将重置bootstrap目录中的bower.json文件(因为它应该是预期的)。这种方式避免修改该文件,并意外重置。 – MikeScott8

+0

使用凉亭时需要考虑的一点注意事项。你不能修改bower文件夹中的任何文件。 – elhampour