擁有單一變量,指定一個variables.less
文件(例如@themeColor: #B30F55;
)內的一種顏色,而一個.json
文件構成的實體的列表,其中每個鍵是一個實體ID和關鍵的值是那個實體的顏色(例如'8ab834f32' : '#B30F55', '3cc734f31' : '#99981F'
),在替換變量值之後,我怎麼能運行一個Grunt任務來輸出與json中的實體一樣多的獨立CSS文件?編譯LESS到多個CSS文件,基於可變值
0
A
回答
1
您可以爲每種顏色定義不同的任務。咕嚕-的contrib少支持Modifyvars選項:
modifyVars
類型:Object默認值:無
覆蓋全局變量。相當於--modify-vars ='VAR = VALUE' 選項較少。
您可以設置modifyVars: themeColor={yourcolor}
爲每個任務構成實體
以.json文件
參見:Grunt - read json object from file
的其他例子可以在Dynamic Build Processes with Grunt.js
找到例如
colors.json:
{
"colors" : [
{"color" : "#B30F55", "name" : "8ab834f32"},
{"color" : "#99981F", "name" : "3cc734f31"}
]
}
Gruntfile.js:
module.exports = function (grunt) {
'use strict';
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
});
grunt.loadNpmTasks('grunt-contrib-less');
var allTaskArray = [];
var colors = grunt.file.readJSON('colors.json').colors;
var tasks = {};
for (var color in colors) {
var dest = 'dist/css/' + [colors[color].name] + '.css';
tasks[colors[color].name] = {options: {
strictMath: true,
outputSourceFiles: true,
modifyVars: {}
},files:{} };
tasks[colors[color].name]['files'][dest] = 'less/main.less';
tasks[colors[color].name]['options']['modifyVars']['color'] = colors[color].color;
allTaskArray.push('less:' + colors[color].name);
}
grunt.config('less',tasks);
grunt.registerTask('default', allTaskArray);
};
更少/ main.less:
@color: red;
p{
color: @color;
}
不是運行grunt
:
運行 「少:8ab834f32」(更少)任務文件DIST/CSS/8ab834f32.css 創建:24 B→24 B
運行 「少:3cc734f31」(更少)任務文件DIST/CSS/3cc734f31。 css 已創建:24 B→24 B
完成,沒有錯誤。
貓DIST/CSS/3cc734f31.css:
p {
color: #99981f;
}
相關問題
- 1. 編譯LESS文件到CSS引導3
- 2. LESS CSS - 單個模板,多個設置,編譯爲多個CSS
- 3. 不能編譯LESS文件導入CSS
- 4. 基於CSS class的LESS條件設置LESS變量
- 5. .less:不編譯變量文件
- 6. 如何改變LESS CSS編譯
- 7. 用broccolisj編譯LESS文件
- 8. LESS文件沒有得到編譯
- 9. .css文件不會上傳到服務器.LESS編譯phpStorm 10
- 10. gulp-less沒有編譯一個css文件
- 11. 如何將LESS文件編譯爲.NET中的CSS文件
- 12. 進口.LESS文件被編譯成單一的.css文件
- 13. 無法找到Less CSS的編譯CSS Maven插件
- 14. 如何編譯@ import其他LESS文件的LESS文件?
- 15. 編譯引用LESS文件導入CSS與PHP自動
- 16. .Less文件擴展名未編譯
- 17. gulp less編譯只更改文件
- 18. 使用lessc編譯.less文件
- 19. Noob LESS/CSS「翻譯」
- 20. 編譯一個SASS /羅盤文件分成多個CSS文件
- 21. Intellij IDEA 11:如何從.less編譯.css?
- 22. 使用Maven和m2e-wtp編譯LESS CSS
- 23. LESS css -JS解析器與編譯
- 24. LESS css編譯器幫助在終端
- 25. 使用grunt watch將多個文件夾從LESS複製到CSS?
- 26. 導入LESS CSS文件與變量
- 27. 帶有LESS變量的CSS文件
- 28. 進口.LESS文件動態基於URL
- 29. 可以編譯多個源文件夾到多個目標文件夾
- 30. 如何將本地編譯的.LESS .CSS文件推送到遠程服務器?