2015-06-19 59 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