默認情況下,Grunt將bootstrap.less編譯爲bootstrap.css。問題是如何讓它編譯我的自定義styles.less,我要將所有Bootstrap less文件以及我自己的一些文件導入到styles.css中?更改使用Grunt編譯的引導程序輸出LESS文件
2
A
回答
2
認爲這個問題有很多答案。我認爲你應該遵循@ seven-phases-max的建議,並且儘量不要修改源代碼(或者至少做一點改動)。
在你Gruntfile.js
,你會發現,少了兩個編譯參數(compileCore
和compileTheme
):
less: {
compileCore: {
options: {
strictMath: true,
sourceMap: true,
outputSourceFiles: true,
sourceMapURL: '<%= pkg.name %>.css.map',
sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map'
},
src: 'less/bootstrap.less',
dest: 'dist/css/<%= pkg.name %>.css'
},
compileTheme: {
options: {
strictMath: true,
sourceMap: true,
outputSourceFiles: true,
sourceMapURL: '<%= pkg.name %>-theme.css.map',
sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map'
},
src: 'less/theme.less',
dest: 'dist/css/<%= pkg.name %>-theme.css'
}
}
而下面的任務定義:grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']);
應該很容易添加自己的子任務,編譯參數。當你這樣做時,你可以編譯你的styles.less
到styles.css
。注意你有一個分離的CSS文件作爲結果。加載該文件需要額外的http請求。
除非您在styles.less
中導入引導程序的Less代碼,否則您不能重用Bootstrap的變量和mixins。如果你需要一個分開的CSS文件考慮創建styles.less
如下:
@import (reference) "bootstrap";
//your custom code here
在,你可以編譯你的代碼在一個CSS文件的情況下,你可以做到以下幾點:
- 創建一個文件
custom.less
並在該文件中添加自定義。並將該文件保存在與bootstrap.less文件相同的文件夾中。 - 不是在bootstrap.less文件的末尾寫下面的代碼:
@import "custom";
之後,你可以編譯引導作爲一般。
或者創建custom.less如下:
@import "bootstrap";
//your custom code here
編譯custom.less而不是bootstrap.less默認情況下,你應該有修改Gruntfile.js。在CompileCore
參數中將src選項更改爲src: 'less/custom.less',
。
相關問題
- 1. 如何使用grunt和grunt-contrib-less將編譯的CSS文件輸出到不同的生產文件夾
- 2. 編譯LESS文件到CSS引導3
- 3. Grunt - 無法使用grunt-contrib-less編譯爲css更少
- 4. Grunt watch&LESS - 如何讓它更快? (僅編譯已更改的文件)
- 5. gulp less編譯只更改文件
- 6. 將自定義.less文件添加到引導程序:編譯期間出錯
- 7. 使用Grunt無法編譯Bootstrap 3 LESS主文件(bootstrap.less)?
- 8. 防止在LESS中編譯導入文件中的更改
- 9. 編譯引用LESS文件導入CSS與PHP自動
- 10. 用broccolisj編譯LESS文件
- 11. 不能編譯LESS文件導入CSS
- 12. 爲什麼grunt-contrib-less找不到引導程序變量?
- 13. 使用lessc編譯.less文件
- 14. 高效編譯自定義引導LESS
- 15. 使用grunt,是否有可能編譯並輸出一個更改的文件到不同的目錄?
- 16. Grunt任務與grunt-contrib-less - 如何編譯多個樣式表,同時保持其原始的.less文件名
- 17. Grunt編譯Jade文件
- 18. 使用Grunt將來自多個目錄的Grunt的LESS文件編譯爲一個給定路徑
- 19. grunt文件中的引導程序用法
- 20. 如何使用/編譯LESS進行引導?
- 21. Grunt:監視文件更改並編譯父目錄
- 22. Grunt:觀看多個文件,只編譯更改 - livereload休息?
- 23. Grunt:觀看多個文件,僅編譯更改
- 24. 如何編譯@ import其他LESS文件的LESS文件?
- 25. 更改已編譯較少文件的Web Essentials輸出位置
- 26. 使用gulp-useref和gulp-less編譯LESS?
- 27. Twitter中的.less文件中的元素引導程序
- 28. 更改已編譯iPhone應用程序的.ipa文件圖稿
- 29. 如何使用Grunt更改index.html引用?
- 30. 同時使用grunt-contrib-less和grunt-nodemon
建立一個文件my-theme.less(或其他),導入兩個文件:bootstrap.less和你的styles.less - 這是你編譯的文件。 – Christina 2014-12-07 17:36:31
是的,但我如何選擇輸出文件? – sdvnksv 2014-12-07 17:37:47
>但我如何選擇輸出文件? - 只需將其設置在[Gruntfile.js](https://github.com/twbs/bootstrap/blob/v3.3.1/Gruntfile.js#L161)。儘管修改Bootstrap包本身並不是一個好主意(顯然它可能會在更多BS版本中失效),但是您最好使用自己的Grunt腳本創建自己的項目。 – 2014-12-07 19:42:28